高分请教个简单的问题关于DataReader(谢谢 各位耐心指点!)
本StudyD.aspx的cs代码 用来检索数据库中是否存在 用户提交的Studyno和Studyname 。
String mysql = "SELECT [id] FROM [STUDY_INFOS] WHERE [ID]= ' " + Studyno.Text.ToString () + " ' OR [NAME]= ' " + Studyname.Text .ToString () + " ' ";
cn.Open();
SqlCommand cmm = new SqlCommand(mysql, cn);
SqlDataReader dr = cmm.ExecuteReader();
if (dr.Read())
{
id = dr[ "id "].ToString();
Response.Redirect( "StudyDetail.aspx?id= ' "+ id + " ' ");
}
如果存在 就重新读出id =dr[ "id "].ToString();
并通过url 传递 到StudyDetail.aspx 中
进行接收id
String wheres = Request.QueryString[ "id "];
String mysql = "SELECT * FROM [STUDY_INFOS] WHERE [ID]= ' "+wheres+ " ' ";
cn.Open();
SqlCommand cmm = new SqlCommand(mysql, cn); //此处有值(鼠标 放置 mysql 上 发现出现的是: "SELECT * FROM [STUDY_INFOS] WHERE [ID]= "040613410 " ")
//个人感觉 "040613410 "错误 应该是 '040613410 '
// 但是怎么能改正呢?
// 是这的错误吗?if (dr.Read())
// {
// id = dr[ "id "].ToString(); //怀疑错在这但不会改
// Response.Redirect( "StudyDetail.aspx?id= ' "+ id + " ' ");
// }
SqlDataReader dr = cmm.ExecuteReader();
if (dr.Read())
========================
错误指向:SqlDataReader dr = cmm.ExecuteReader(); 行
错误提示 '040613410 ' 附近有语法错误。(这里我传递的id=040613410)
================
当我调试时发现:cmm.ExecuteReader(); 有值
但是: dr=null