Проверка соответствия действующего почтового индекса штату / городу и вывод «unknown», если его нет в метке - PullRequest
0 голосов
/ 16 апреля 2019

Я создал программу, которая извлекает соответствующий штат / город из базы данных на основании введенного почтового индекса, но мне нужна помощь с выводом «ошибки», если в поле введен недействительный, не соответствующий почтовый индексформа мира "Неизвестно", помещенная в обе метки штата / города.

Я пробовал кучу операторов if, но безрезультатно.

private void BtnLookup_Click(object sender, EventArgs e)
{
    String cnStr;
    SqlConnection cn = new SqlConnection();

    cnStr = "Data Source=000.00.000.00;Initial Catalog=.  ;User ID=.  ;Password=.  ";

    //Assigns Connection string to the connection object
    cn.ConnectionString = cnStr;
    //Open the connection to the SQL Server
    cn.Open();

    //This statement creates the command object and passes in the SQL statement
    //then associates the command to the cn connection object

    SqlCommand cmd = new SqlCommand("select distinct state, city from tblZipcodes where zip = @ZipCode", cn);

    cmd.Parameters.Add(new SqlParameter("@ZipCode", SqlDbType.NVarChar) { Value = txtZip.Text });

    SqlDataReader rdrZip = cmd.ExecuteReader();

    while (rdrZip.Read())
    {
        String myString = rdrZip["state"].ToString().Trim();
        String myString2 = rdrZip["city"].ToString().Trim();

        lblState.Text = myString;

        lblCity.Text = myString2;

    }

    cn.Close();
}

, если введен недействительный почтовый индекс, тогда поставить метки неизвестно в метках штата / города

1 Ответ

1 голос
/ 16 апреля 2019

Один из вариантов - проверить, возвращает ли ваш результат результат, используя SqlDataReader.HasRows

Получает значение, указывающее, содержит ли SqlDataReader одну или несколько строк.

И вы можете реализовать это как,

if (rdrZip.HasRows)
{
    while (rdrZip.Read())
    {
        String myString = rdrZip["state"].ToString().Trim();
        String myString2 = rdrZip["city"].ToString().Trim();

        lblState.Text = myString;    
        lblCity.Text = myString2;

    }
}
else
{
    lblState.Text = "Unknown";    
    lblCity.Text = "Unknown";
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...