各位:我现在就想用dataset和dataadapter来把表遍历,希望做个循环,我以前是做asp的,
效果是:只要记录不为空,就取每个记录的level字段值操作。level为int型。请看下面代码。
其中第8行报错,我知道肯定是表示错误,怎么样才能把level字段取出来??
如何表示出记录不为空的循环?这个效果我还没加进去。如果给我代码将感激不尽!
1行 SqlConnection myconnection=new SqlConnection(ConfigurationSettings.AppSettings["sqlconnectionstring"]);
2行 String cmdText="select * from newscata order by rootid";
3行 SqlDataAdapter dataadapter=new SqlDataAdapter(cmdText,myconnection);
4行 DataSet dataset=new DataSet();
5行 dataadapter.Fill(dataset,"newskinds");
6行 newskindlist.DataSource=dataset.Tables["newskinds"].DefaultView;
7行 String tempcataStr=" ||";
8行 int level="level";
9行 int i;
10行 for (i=1;i<(level-1);i++)
{
tempcataStr=tempcataStr+"|";
}
tempcataStr=tempcataStr+"<a href=newskind.aspx?cataid="+"id"+">"+"title"+"</a><br>";
newskindlist.DataTextField=tempcataStr;
newskindlist.DataBind();
myconnection.Close();
效果是:只要记录不为空,就取每个记录的level字段值操作。level为int型。请看下面代码。
其中第8行报错,我知道肯定是表示错误,怎么样才能把level字段取出来??
如何表示出记录不为空的循环?这个效果我还没加进去。如果给我代码将感激不尽!
1行 SqlConnection myconnection=new SqlConnection(ConfigurationSettings.AppSettings["sqlconnectionstring"]);
2行 String cmdText="select * from newscata order by rootid";
3行 SqlDataAdapter dataadapter=new SqlDataAdapter(cmdText,myconnection);
4行 DataSet dataset=new DataSet();
5行 dataadapter.Fill(dataset,"newskinds");
6行 newskindlist.DataSource=dataset.Tables["newskinds"].DefaultView;
7行 String tempcataStr=" ||";
8行 int level="level";
9行 int i;
10行 for (i=1;i<(level-1);i++)
{
tempcataStr=tempcataStr+"|";
}
tempcataStr=tempcataStr+"<a href=newskind.aspx?cataid="+"id"+">"+"title"+"</a><br>";
newskindlist.DataTextField=tempcataStr;
newskindlist.DataBind();
myconnection.Close();
{
if(dr["level"] != System.DBNull)
level = dr["level"].ToString();
}
dataadapter.Fill(dataset,"newskinds");
newskindlist.DataSource=dataset.Tables["newskinds"].DefaultView;
int i; int level1;
foreach( DataRow dr in dataset.Tables["newskinds"].Rows)
{
level1 = Convert.ToInt32(dr["level"]);
String tempcataStr=" ||";
for (i=1;i<(level1-1);i++)
{
tempcataStr=tempcataStr+"|";
}tempcataStr=Convert.ToString(dr["title"]);
newskindlist.DataTextField=tempcataStr;
newskindlist.DataValueField=Convert.ToString(dr["id"]);
newskindlist.DataBind();
}
但是不好使:报错!!!!怎么办??!!!DataBinder.Eval:“System.Data.DataRowView”不包含名称为 最新新闻 的属性。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.Web.HttpException: DataBinder.Eval:“System.Data.DataRowView”不包含名称为 最新新闻 的属性。源错误:
行 58: newskindlist.DataTextField=tempcataStr;
行 59: newskindlist.DataValueField=Convert.ToString(dr["id"]);
行 60: newskindlist.DataBind();
行 61: }
行 62: //newskindlist.DataBind();