日期:2014-05-19  浏览次数:20435 次

高分请教个简单的问题关于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