你的问题在于没有搞清sqlDataReader的执行机制,楼上的几位朋友也有这样的问题:如果想采用sqlDataReader读取数据,必须先执行Read(),所以你在 SqlDataReader dr=sqlCommand1.ExecuteReader(); 之后必须加上一句 dr.read() //如果下一位置没有记录,返回false 然后再执行 varTitle.Text=dr.GetValue(1).ToString(); 肯定不会再出现错误了。 有时就是用这一语句判断数据库中是否有记录,例如 sqlConnection1.Open(); sqlCommand1.CommandText="select * from Users where UserName='" +UserName+"'"; SqlDataReader dr=sqlCommand1.ExecuteReader(); if not dr.read then response.write ("用户不存在") end if ......大概就是这个意思吧
SqlConnection1.Open();string strsql="select * from message where title='" +Request.QueryString["ID"]+"'";SqlCommand cm=new SqlCommand(strsql,SqlConnection1);SqlDataReader dr=cm.ExecuteReader();if (dr.Read){varTitle.Text=dr["字段"].ToString();}please try;
{
varTitle.Text=dr.GetValue(1).ToString();
}
看看是不是这得错!
或则看看是不是参数提取不对/
第二,你的GetValues(1)中的l是什么东东?
SqlDataReader dr=sqlCommand1.ExecuteReader();
之后必须加上一句
dr.read() //如果下一位置没有记录,返回false
然后再执行
varTitle.Text=dr.GetValue(1).ToString();
肯定不会再出现错误了。
有时就是用这一语句判断数据库中是否有记录,例如
sqlConnection1.Open();
sqlCommand1.CommandText="select * from Users where UserName='" +UserName+"'";
SqlDataReader dr=sqlCommand1.ExecuteReader();
if not dr.read then
response.write ("用户不存在")
end if
......大概就是这个意思吧