我有一个数据库表,我正在查询该表以检查值是否已存在(对于登录应用程序)。
我有一个数据适配器,但我不知道如何检查数据适配器是否包含我正在寻找的值...
这是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 参数来防止 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");
}
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;
}