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