下面的代码,我是先从数据源中读取数据,再填充到DataSet对象中,然后,将DataSet对象中的值赋给所定义的变量,但,运行时总提示出错:在某某处没有任何行。在数据库中是有记录的。。。。到底是怎么回事?请指教了。。。谢谢!!!
private void dt_ItemCommand(Object Sender,DataListCommandEventArgs e)
{
switch(Convert.ToString(((Button)e.CommandSource).CommandName))
{
case"BACK":Response.Redirect("outhut.aspx");break;
case"BUY":
{
datacon(); //链接数据源
OleDbDataAdapter thisADPT=new OleDbDataAdapter("Select bookid,name,price from out where id="+i,thisCN); // i 是定义的全局变量。即是其它页面传来的id。。。
DataSet ds=new DataSet();
thisADPT.Fill(ds,"out");
bid=ds.Tables["out"].Rows[i]["bookid"].ToString(); //编译时在此提示出错:在i处没有任何行。
p=ds.Tables["out"].Rows[i]["price"].ToString();
bname=ds.Tables["out"].Rows[i]["name"].ToString(); //下面的语句应该不出错。。
uid=Session.SessionID.ToString();
OleDbCommand THISCOMD=thisCN.CreateCommand();
THISCOMD.CommandText="Select bookid from contenttb where userid="+uid+"";
OleDbDataReader thisReader=THISCOMD.ExecuteReader();
if(thisReader.Read())
{thisReader.Close();
THISCOMD.CommandText="Update contenttb set count=count+1 where userid="+uid+"";
THISCOMD.ExecuteNonQuery();
}
else
{thisReader.Close();
datacon();
THISCOMD.CommandText="Insert into contenttb([bookname],[bookprice],[bookid],[userid])values('"+bname+"','"+p+"','"+bid+"','"+uid+"')";
THISCOMD.ExecuteNonQuery();
}
};break;
}
}
在某某处没有任何行???