2015-01-08 2 views
-2

У меня есть следующий код, и я хочу показать сообщение об ошибке, если идентификатор не найден в таблице, может ли любой орган помочь?C# ADO.NET: проверить существующий индекс

private void button4_Click(object sender, EventArgs e) 
{ 
    conn = new MySqlConnection(cs); 
    string sql = "select * from question where [email protected];"; 
    MySqlCommand cmd = new MySqlCommand(sql, conn); 
    conn.Open(); 
    cmd.Prepare(); 
    cmd.Parameters.AddWithValue("@id", int.Parse(textBox1.Text)); 
    MySqlDataReader rd = cmd.ExecuteReader(); 
    string res = ""; 

    while (rd.Read()) 
    { 
     if (rd.HasRows==true) 

     { 
      res = string.Format("id={0} pid={1} question={2}", rd.GetInt32(0), rd.GetInt32(1), rd.GetString(2)); 
      MessageBox.Show("found" + "\n" + res); 
     } 
     MessageBox.Show(" id not found"); 


    } 

enter image description here

ответ

1

Вам нужно проверить есть строки, прежде чем начать перебор читателя.

if (rd.HasRows==true) 
{ 
while (rd.Read()) 
{ 
// Do something here 
} 
} 
else 
{ 
// Show message here 
}