2016-09-23 1 views
-2

Я работаю над приложением форм Windows C#. Она имеет форму со следующими полями:Данные в текстовом поле в базе данных не отображаются, а затем отображается сообщение

  • textboxRegistrationID,
  • TextboxDate,
  • TextboxName,
  • TextBoxGender и
  • TextBoxContactNumber

с тремя кнопками GetData, Save и Exit,

В базе данных у меня возникли table с именем info с пятью полями:

  • RegistrationID,
  • Date,
  • Name,
  • Gender и ContactNumber соответственно.

Когда я сохранить данные, он экономит, соответственно, и когда я пытаюсь получить данные из базы данных с помощью RegistrationID, это даст данные, если RegistrationIDсуществует. Если он не существует, то вызывает Ошибка, говоря столбец не существует.

Теперь, что я хочу, вместо Error, я хочу, чтобы сообщение отображалось: Регистрационный номер не существует.

Как я могу это достичь? Пожалуйста, помогите мне.

+2

показать код .. – tabby

+0

может быть ваш ваш DataTable или набор данных пуст, когда RegistrationID не существует, то, пожалуйста, проверьте для него первым, а затем извлекать данные из datatable или dataset –

+0

Использовал ли u свойство get и set для каждого поля. –

ответ

0

Когда вы извлекаете данные из базы данных, скажем в DataSet ds; проверьте следующее:

ds != null; 
ds.Tables.Count > 0; 
ds.Tables[0] != null; 
ds.Tables[0].Rows.Count > 0; 

Если какое-либо из вышеуказанных условий окажется истинным; дисплей

MessageBox.Show("Record doesn't exist!!!") 

Else, отображать результаты

Update

using (SqlConnection con = new SqlConnection(connectionString)) 
{ 
    con.Open(); 
    SqlDataAdapter sda = new SqlDataAdapter("Select * from Info where RegistrationID = '" + RegistrationID.Text + "'", con); 
    DataTable dt = new DataTable(); 
    sda.Fill(dt); 
    if (dt != null && dt.Rows.Count() > 0) 
    { 
     RegistrationID.Text = dt.Rows[0][0].ToString(); 
     Date.Text = dt.Rows[0][1].ToString(); 
     Name.Text = dt.Rows[0][2].ToString(); 
     Gender.Text = dt.Rows[0][3].ToString(); 
     ContactNumber.Text = dt.Rows[0][4].ToString(); 
    } 
    else 
    { 
     MessageBox.Show("Data does not exist!!!"); 
    } 
} 
+0

con.Open(); SqlDataAdapter sda = новый SqlDataAdapter («Выберите * из информации, где RegistrationID = '" + RegistrationID.Text + "'", con); DataTable dt = new DataTable(); sda.Fill (дт); RegistrationID.Text = dt.Rows [0] [0] .ToString(); Date.Text = dt.Rows [0] [1] .ToString(); Name.Text = dt.Rows [0] [2] .ToString(); Gender.Text = dt.Rows [0] [3] .ToString(); ContactNumber.Text = dt.Rows [0] [4] .ToString(); con.Close(); Это код, который я использовал, и данные будут отображаться, когда данные присутствуют. – Mohammed

+0

Попробуйте код под Update и дайте мне знать, если это то, что вы ищете – A3006

+0

спасибо Ананд, это сработало спасибо alot – Mohammed

2

Как указать код в соответствии с этим вы можете countrows из datatable

здесь код

if(dt.Rows.Count > 0) 
{ 
     //display your data 
} 

else 
{ 
    // show your message here 
} 

если у вас есть какие-либо проблемы, сообщите мне.

Примечание: - Здесь dt это ваш DataTable переменная

+0

Спасибо Кинжал Пател это сработало – Mohammed

+0

Тебе хорошо. –

+0

con.Open(); SqlDataAdapter sda = новый SqlDataAdapter («Выберите * из информации, где RegistrationID = '" + RegistrationID.Text + "'", con); DataTable dt = new DataTable(); sda.Fill (дт); Если (dt.Rows.Count> 0) {RegistrationID.Text = dt.Rows [0] [0] .ToString(); Date.Text = dt.Rows [0] [1] .ToString(); Name.Text = dt.Rows [0] [2] .ToString(); Gender.Text = dt.Rows [0] [3] .ToString(); ContactNumber.Text = dt.Rows [0] [4] .ToString();} else {MessageBox.Show ("Invalid Registration ID");} con.Close(); Вчера этот код работал, но не знаю, что случилось, если он не работает сейчас, пожалуйста, помогите там, где это неправильно. – Mohammed