2014-01-23 3 views
2

У меня есть таблица базы данных, и я запрашиваю эту таблицу, чтобы проверить, существует ли уже существующее значение (для приложения для входа).C#. Проверка адаптера данных SQL для определенных значений

У меня есть адаптер данных, но я не знаю, как проверить, если адаптер данных содержит значение Я ищу ...

Вот C#:

string connectionString = @"Data Source=.\SQLEXPRESS;Database=Employee;Integrated Security=true"; 

using (SqlConnection connection = new SqlConnection(connectionString)) 
    { 
    SqlDataAdapter da = new SqlDataAdapter("SELECT UName FROM EVUSERS WHERE UName = '" + userName + "'", connection); 
    da.Fill(dt); 

    //this message displays proving the adapter contains values 
    if(da != null) 
     { 
      MessageBox.Show("name exists"); 
     } 
    } 

Я просто хотел бы знать, как я могу сказать что-то вроде

if (da contains username) { do something } 

Спасибо.

ответ

10

Вы должны использовать свойство Rows.Count таблицы.

Но вы должны действительно использовать sql-параметры, чтобы предотвратить SQL-инъекцию!

SqlDataAdapter da = new SqlDataAdapter("SELECT UName FROM EVUSERS WHERE UName = @UName", connection); 
da.SelectCommand.Parameters.AddWithValue("@UName", userName); 
da.Fill(dt); 

if(dt.Rows.Count > 0) 
{ 
    MessageBox.Show("name exists"); 
} 
+0

Это замечательно. спасибо –