我在做一个ktv管理系统,当包房被占用使,btn显示红色,,当空闲时,显示绿色,怎么做啊,在数据库里面我已经建立有包房状态的表,就是不知道怎么把数据库的值拿出来进行使用 判断,,求教,,,要交作业了啊啊啊啊啊啊啊   谢谢

解决方案 »

  1.   

    直接读取数据库,获得状态值,进行if判断,如果是这个状态就改变button的背景颜色。
     this.button1.BackColor = Color.Red;
      

  2.   

    先用dataset读取到数据库中的表值,然后遍历dataset中的表挨个判断状态,然后就是楼上的做法了,具体是不会变颜色还是不会读取数据库中的表?
      

  3.   

    假设有一张Room表,里面有两个字段 RoomID和state(0为空闲,1为已占用)
     protected void btnRoom1_Click(object sender, EventArgs e)
            {
                string roomid = "001";
                int ret = check(roomid);
                if (ret == 1)
                {
                    ExcuteNonQuery(ret, roomid);
                    btnRoom1.BackColor = Color.Red;
                }
                else
                {
                    ExcuteNonQuery(ret, roomid);
                    btnRoom1.BackColor = Color.Gray;
                }
            }        protected void btnRoom2_Click(object sender, EventArgs e)
            {
                string roomid = "002";
                int ret = check(roomid);
                if (ret == 1)
                {
                    ExcuteNonQuery(ret, roomid);
                    btnRoom2.BackColor = Color.Red;
                }
                else
                {
                    ExcuteNonQuery(ret, roomid);
                    btnRoom2.BackColor = Color.Gray;
                }
            }        public int check(string roomid)
            {
                int ret = 0;
                DataTable dt = getDatetable(roomid);
                if (Convert.ToInt32(dt.Rows[0]["state"]) == 0)
                {
                    ret = 1;
                }
                else
                {
                    ret = 0;
                }
                return ret;
            }
            public DataTable getDatetable(string roomid)
            {
                SqlConnection conn = new SqlConnection("");
                conn.Open();
                string strSql = "select state from Room where RoomID='"+roomid+"'";
                SqlDataAdapter da = new SqlDataAdapter(strSql,conn);
                DataTable dt = new DataTable();
                da.Fill(dt);
                return dt;
            }        public void ExcuteNonQuery(int ret, string roomid)
            {
                SqlConnection conn = new SqlConnection("");
                conn.Open();
                string strSql = "update Room set state='"+ret+"' where RoomID='"+roomid+"'";
                SqlCommand cmd = new SqlCommand(strSql,conn);
                cmd.ExecuteNonQuery();
                
            }