C# 代码中的循环错误
我有下面的c代码,我得到编译错误。有人能帮我吗 更新C# 代码中的循环错误,c#,asp.net,C#,Asp.net,我有下面的c代码,我得到编译错误。有人能帮我吗 更新 现在它直接转到循环后的else部分,现在会出现什么错误应该是这样的 for (I = 0; I <= ds.Tables["EMAILS"].Rows.Count - 1; I++) { String email = ds.Tables["EMAILS"].Rows[I]["email"].ToString(); if (email == GlobalData.Email) { Label2.Te
现在它直接转到循环后的else部分,现在会出现什么错误应该是这样的
for (I = 0; I <= ds.Tables["EMAILS"].Rows.Count - 1; I++)
{
String email = ds.Tables["EMAILS"].Rows[I]["email"].ToString();
if (email == GlobalData.Email)
{
Label2.Text = GlobalData.Email;
Label1.Text = GlobalData.Name;
Label3.Text = GlobalData.LastName;
}
else
{
Response.Redirect("login.aspx");
}
}
您正在使用而不是[
使用方括号而不是圆括号
for (I = 0; I <= ds.Tables["EMAILS"].Rows.Count - 1; I++)
Tables是一个返回DataTableCollection的参数,而不是一个方法。我假设您是一名vb开发人员,这就是为什么您使用indexer,而不是您应该使用的[]
for (I = 0; I <= ds.Tables["EMAILS"].Rows.Count - 1; I++)
而且…对于记录,您不应该直接准备并从codebehind调用sql
我应该编辑我的答案
Foreach将使其更易于使用
foreach (DataRow row in ds.Tables[0].Rows)
{
//make sure that you have emil column in you datasource
string email = row["email"].ToString();
}
那么编译错误是什么呢?编译器错误消息:CS1955:Non invocable member'System.Data.DataSet.Tables'不能像方法一样使用。这是运行TimeBooks时的错误,就像有人复制了VB代码一样。另外,for循环中的长I为+1:在旁注中,为循环编写如下内容:forint I=0;I
for (I = 0; I <= ds.Tables["EMAILS"].Rows.Count - 1; I++)
String email = ds.Tables["EMAILS"].Rows[I].Item["email"];
foreach (DataRow row in ds.Tables[0].Rows)
{
//make sure that you have emil column in you datasource
string email = row["email"].ToString();
}