帮忙了,谢谢@
public int getroomidbynuber(){
int num = 0;
using (SqlConnection conn = new SqlConnection(connString))
{
SqlCommand command = new SqlCommand("select roomid from room where number='307'", conn);
//command.CommandType=CommandType.StoredProcedure;
// command.Parameters.Add("@number", SqlDbType.NChar, 50).Value = number;
conn.Open();
SqlDataReader datareader = command.ExecuteReader();
if (datareader.Read()) {
num = Convert.ToInt32(datareader["roomid"]);
}
datareader.Close();
conn.Close();
}
return num;
}
谁帮我看看这段有什么语法错误,我调试了以个小时就是没看出问题,可我再数据库中试可以找到的啊 ?
调试的时候执行到红色代码就退出来了,为什么?请指点? --------------------编程问答-------------------- while(datareader.Read()) --------------------编程问答-------------------- conn.Open();
你已经用USING了。就不要再conn.Open(); 。 --------------------编程问答-------------------- http://topic.csdn.net/u/20090807/14/7b2ee05d-1610-4e7e-b2e4-473000543d07.html?52506
已经回答了 --------------------编程问答--------------------
UP --------------------编程问答-------------------- 退出来了,就是发生了异常了。肯定是数据库操作语句的问题:
SqlCommand command = new SqlCommand("select roomid from room where @number='307'", conn
看你后面的参数,这个应该是参数而不是列名吧? --------------------编程问答-------------------- 谢谢!
换成while的确是可以解决问题,
我想问的问题是我在单步调试的时候,明明
if(datareader.Read()) //这句话显示true 的时候就直接跳到if外边去了,为什么??????????
{
num = Convert.ToInt32(datareader["roomid"]);
}
补充:.NET技术 , C#