Как вернуть строку обратно в отдельный класс из метода, который принимает целые числа - PullRequest
0 голосов
/ 04 апреля 2019

Я передаю два целых числа в метод другого класса, сравниваю их с таблицей базы данных и создаю строку для любых найденных дубликатов. Я хотел бы передать эту строку обратно вызывающему методу / классу.

В классе вызова:

if (IsValidMfgBadgeEntries())
    {
        int beginningSerial = Convert.ToInt32(txtMfgBeginning.Text);
        int count = Convert.ToInt32(txtMfgCount.Text);

        SerialsManufacturingDB.VerifyManufacturingSerialOnly
                    (count, beginningSerial);
    }

В отдельном классе:

public static VerifyManufacturingSerialOnly(int count, int beginning)
    {
        OleDbConnection connection = BadgeDatabaseDB.GetConnection();
        string checkStatement
            = "SELECT OrderNumber "
            + "FROM SerialNumbers-MFG "
            + "WHERE SerialNumber = @CurrentSerial";
        OleDbCommand command =
            new OleDbCommand(checkStatement, connection);

        string duplicateSerials = "";

        for (int i = 0; i < count; i++)
            {
                int currentSerial = beginning;
                command.Parameters.AddWithValue("@CurrentSerial", currentSerial);                

                try
                {
                    connection.Open();
                    OleDbDataReader dataReader =
                        command.ExecuteReader(CommandBehavior.SingleRow);
                    if (dataReader.Read())
                    {
                        duplicateSerials +=
                            "Serial # " +
                            currentSerial +
                            " already exists in order # " +
                            dataReader["OrderNumber"].ToString() + "\n";
                    }
                    else
                    {
                        ;
                    }
                }
                catch (OleDbException ex)
                {
                    throw ex;
                }
                finally
                {
                    connection.Close();
                }

                i++;
            }

            //WHAT TO RETURN??
        }

1 Ответ

0 голосов
/ 04 апреля 2019

Вы должны объявить метод с типом возврата (в данном случае string):

public static string VerifyManufacturingSerialOnly(int count, int beginning)

В конце метода вы можете написать

return duplicateSerials;

Вы можетезатем вызовите метод следующим образом:

string result = SerialsManufacturingDB.VerifyManufacturingSerialOnly(count, beginningSerial);

Если у вас есть метод, который не возвращает значение, вы должны использовать тип заполнителя void

public void DoesNotReturnAValue()
{
    ...
}

InФакт, что вы можете использовать оператор возврата в любом месте метода.Метод может иметь несколько операторов return.В методе void вы просто пишете

return;

без аргументов.

См. Также

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...