DataReader不存在此行/列的数据

想实现的效果是网页上面是个GridView,点击选择然后把行里面的数据读到下面相应的文本控件中,用来修改内容,由于内容那一项数据过多,在查询的时候做了限制,而在下面的文本... 想实现的效果是
网页上面是个GridView,点击选择然后把行里面的数据读到下面相应的文本控件中,用来修改内容,由于内容那一项数据过多,在查询的时候做了限制,而在下面的文本编辑器中要求全部显示。所以写了如下代码:
Session["o"] = GridView1.SelectedRow.Cells[3].Text;

TextBox1.Text = GridView1.SelectedRow.Cells[0].Text;
TextBox3.Text = GridView1.SelectedRow.Cells[1].Text;
FCKeditor1.Value = Session["nr"].ToString();
TextBox2.Text = GridView1.SelectedRow.Cells[3].Text;
TextBox4.Text = GridView1.SelectedRow.Cells[4].Text;

string str = "select nr from aqsc where sj=" + TextBox2.Text + "";
OleDbConnection conn = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=F:\\swj\\123\\123.mdb");
conn.Open();

OleDbCommand cmd = new OleDbCommand(str, conn);
OleDbDataReader dr = cmd.ExecuteReader(CommandBehavior.CloseConnection);
dr.Read();

FCKeditor1.Value = dr["nr"].ToString();
conn.Close();

出错代码:FCKeditor1.Value = dr["nr"].ToString();
提示为:不存在此行/列的数据
查了好久都没能解决,望指点
老师说在GridView中点击选择后,页面刷新了,所以页面又回到了原始的状态,刷新过后就没有执行上面的代码
望高手解决
展开
 我来答
kid83
2010-04-12 · TA获得超过2081个赞
知道大有可为答主
回答量:1818
采纳率:0%
帮助的人:2032万
展开全部
while(dr.Read())
{

FCKeditor1.Value = dr["nr"].ToString();
}
conn.Close();
N多的肉
2010-04-12 · TA获得超过3542个赞
知道小有建树答主
回答量:2260
采纳率:34%
帮助的人:645万
展开全部
dr.Read();

FCKeditor1.Value = dr["nr"].ToString();

改为:

while(dr.read())
{
FCKeditor1.Value = dr["nr"].ToString();

}

试一下?

那个read是 Read,大写滴
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式