C#。检查 SQL 数据适配器的某些值

问题描述 投票:0回答:2

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

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

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

谢谢你。

c# sql dataadapter
2个回答
9
投票

您必须使用表的

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
投票
  • 我正在使用数据表,我想使用 SqlDataAdapter 通过搜索查询检索数据。但是,我想在参数前后添加“%”符号。
    public DataTable Search(string parameter)
            {
                string query = "Select * From MyContacts where name like @parameter or family like @parameter";
                SqlConnection connection = new SqlConnection(_connection);
                SqlDataAdapter adapter = new SqlDataAdapter(query, connection);
                adapter.SelectCommand.Parameters.AddWithValue("@parameter", "%" + parameter + "%");
                DataTable data = new DataTable();
                adapter.Fill(data);
                return data;
            }
© www.soinside.com 2019 - 2024. All rights reserved.