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

为什么这个数据库操作会说没有任何数据?
为什么执行到reader[1].ToString()时候,会报错说“在没有任何数据时进行无效的读取尝试”
我的数据库明明有数据啊!而且那句sql语句放到sqlserver中执行也会查询到数据?
connStr肯定也是没问题的!

错在哪里呢?


          string   connStr   =   System.Configuration.ConfigurationManager.ConnectionStrings[ "LocalSqlServer "].ToString();
                SqlConnection   conn;
                conn   =   new   SqlConnection(connStr);
                string   sql   =   "SELECT   *   FROM           hotel   ";
                SqlCommand   cmd   =   conn.CreateCommand();
                cmd.CommandText   =   sql;
                conn.Open();
                SqlDataReader   reader   =   cmd.ExecuteReader();
                Response.Write(reader[1].ToString());
                reader.Close();
                conn.Close();

------解决方案--------------------
倒数第三行前插入 if(reader.Read())
------解决方案--------------------
cmd.CommandText = sql;
conn.Open();
SqlDataReader reader = cmd.ExecuteReader();
reader.Read();你没写这个
Response.Write(reader[1].ToString());
reader.Close();
conn.Close();