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

10-04 21:06