我有一个数据库表,正在查询该表以检查是否已经存在一个值(对于登录应用程序)。

我有一个数据适配器,但是我不知道如何检查数据适配器是否包含我要查找的值...

这是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 }


谢谢。

最佳答案

您必须使用表的Rows.Count属性。

但是您应该真正使用sql-parameters防止sql-injection!

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");
}

关于c# - C#。检查SQL数据适配器的某些值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21314194/

10-10 23:39