当前位置:编程学习 > C#/ASP.NET >>

关于连接数据库的一点小问题。

做的一个酒店管理系统   当一个房间登记入住时先进行判断 该房间是否已经有人入住 (房间表中有一个房间状态列专门用来记录房间预订 入住 空等状态)
怎样将数据库中该房间的状态传送到前台以进行判断

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("房间已有人入住");      



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();

--------------------编程问答-------------------- 第一段那個tostring()可刪... --------------------编程问答-------------------- 第二段ExecuteScalar後面的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#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,