关于连接数据库的一点小问题。
做的一个酒店管理系统 当一个房间登记入住时先进行判断 该房间是否已经有人入住 (房间表中有一个房间状态列专门用来记录房间预订 入住 空等状态)怎样将数据库中该房间的状态传送到前台以进行判断
SqlDataReader ss= MyClass.getcom("select Room_status from Room_Information where Room_No='"+tbRoomNo.Text+"'");
string aa =ss.ToString();
if (aa.Equals("入住"))
{
MessageBox.Show("房间已有人入住");
}
其中getcom是定义的访问数据库的公共方法
public SqlDataReader getcom(string SQLstr)
{
getcon(); //打开与数据库的连接
SqlCommand My_com = My_con.CreateCommand(); //创建一个SqlCommand对象,用于执行SQL语句
My_com.CommandText = SQLstr; //获取指定的SQL语句
SqlDataReader My_read = My_com.ExecuteReader(); //执行SQL语名句,生成一个SqlDataReader对象
return My_read;
}
为什么运行之后 根本不行啊 感觉就没有执行if语句一样 本人菜鸟 求高手解答。。 --------------------编程问答-------------------- 下斷點看你獲取到的數據是什麽就知道了 --------------------编程问答-------------------- 断点之后 显示aa是NULL。。。 可我试验的是204房间 数据库已经加了 204的Room_status 是入住
为什么是空啊 到底哪出问题了 --------------------编程问答-------------------- My_com.ExecuteScalar() 獲取查詢的第一個結果 --------------------编程问答-------------------- http://msdn.microsoft.com/zh-cn/library/system.data.sqlclient.sqldatareader.aspx,先看看reader怎么用 --------------------编程问答-------------------- 什么意思。。。。。 --------------------编程问答--------------------
String ss= MyClass.getcom("select Room_status from Room_Information where Room_No='"+tbRoomNo.Text+"'").ToString();
if (ss.Equals("入住"))
{
MessageBox.Show("房间已有人入住");
}
--------------------编程问答-------------------- 第一段那個tostring()可刪... --------------------编程问答-------------------- 第二段ExecuteScalar後面的ToString()也刪...
public String getcom(string SQLstr)
{
getcon(); //打开与数据库的连接
SqlCommand My_com = My_con.CreateCommand(); //创建一个SqlCommand对象,用于执行SQL语句
My_com.CommandText = SQLstr; //获取指定的SQL语句
Object My_read = My_com.ExecuteScalar().ToString(); //执行SQL语名句,生成一个SqlDataReader对象
if(My_read == NULL || My_read == DBNull.Value)
return "";
else
return My_read.ToString();
}
直接在編輯欄打的,沒檢查... --------------------编程问答-------------------- 抱歉 之前有点事。。 刚刚试了一下 还是不行 --------------------编程问答-------------------- --------------------编程问答-------------------- public override IDataReader GetDataReader(string commandText)
{
IDataReader reader2;
SqlCommand command = new SqlCommand(commandText);
command.Connection = (SqlConnection) base.connection;
if (base.isInTransaction)
{
command.Transaction = (SqlTransaction) base.transaction;
}
try
{
reader2 = command.ExecuteReader();
}
catch (Exception exception)
{
throw new EntityException(exception.Message);
}
finally
{
command.Dispose();
command = null;
}
return reader2;
}
--------------------编程问答-------------------- 楼主基本的数据库读取还不会啊,这个系统中应该有类似的数据库操作吧,找出来看看吧。 --------------------编程问答-------------------- SqlDataReader ss= MyClass.getcom("select Room_status from Room_Information where Room_No='"+tbRoomNo.Text+"'");
string aa =ss.ToString();
aa只能等于SqlDataReader 这个类型的全名。。。
学学数据库的操作吧,亲 --------------------编程问答-------------------- getcom()返回的結果是什麽?
补充:.NET技术 , C#