我在SQL Server 2008中有一个Login
表,我想在DataColumn中检查一个有效的用户。
我试图通过索引从DataColumn检索值,但收到错误。
无法将索引应用于类型为'system.data.datatable'的表达式。
这是代码:
string connectionString = "Data Source=.\\SQLEXPRESS;Initial Catalog=DRZare;Integrated Security=true;";
SqlConnection LOGINCONNECTION = new SqlConnection(connectionString);
string commandText = "select * from Login where UserName = @User and Password = @Pass";
SqlCommand cmdlogin = new SqlCommand(commandText, LOGINCONNECTION);
cmdlogin.Parameters.AddWithValue("@User", TextBox5.Text);
cmdlogin.Parameters.AddWithValue("@Pass",TextBox6.Text);
LOGINCONNECTION.Open();
DataTable logintable = new DataTable();
logintable.Load(cmdlogin.ExecuteReader());
for (int i = 0; i < logintable.Rows.Count; i++ )
{
User = Convert.ToString(logintable[i]["UserName"]);
string Pass = Convert.ToString(logintable[i]["Password"]);
}
帮帮我。
最佳答案
错误消息清楚地说明了问题出在哪里。您不能在DataTable上使用索引器。但是您可以将其与DataRow一起使用。
改成:
foreach (DataRow row in loginTable.Rows )
{
string User = Convert.ToString(row["UserName"]);
string Pass = Convert.ToString(row["Password"]);
}