如题。
   在两个TextChanged事件下分别检测各自输入的值在数据库中是否都存在,若都存在则让按钮可用,否则按钮不可用   按钮默认是不可用的。
我的代码如下,球修改
  
 private void txtCard_TextChanged(object sender, EventArgs e)
        {
            if (this.txtCard.Text == "")
            {
                return;
            }
            ADO ado = new ADO();
            try
            {
                ado.sqlOpen();
                ado.comm.CommandText = "select Password,Name,Sex, Class  , Grade" +
                    " from Student where UserID =" + Int64.Parse(this.txtCard.Text);
                SqlDataReader reader = ado.comm.ExecuteReader();                if (reader.Read())
                {
                        this.txtRName.Text = reader.GetString(1);
                        this.txtSex.Text = reader.GetString(2);
                        this.txtSPswd.Text = reader.GetString(0);
                        this.txtClass.Text = reader.GetString(3);
                        this.txtCollege.Text = reader.GetString(4);
                }
                else
                {
                    this.txtRName.Text = "";
                    this.txtSex.Text = "";
                    this.txtSPswd.Text = "";
                    this.txtClass.Text = "";
                    this.txtCollege.Text = "";
                }
            }
            catch (System.Exception ex)
            {
                MessageBox.Show(ex.ToString());
            }
            finally
            {
                ado.sqlClose();
            }            string sql = "select id as 编号, bcode as 条形码, bBookNa as 书名, bUserID as 借阅证, bName as 姓名, BorrowTime as 借出时间, BackTime as 应还时间,  realBtime as 归还时间, isReturn as 是否归还, bIsbn as ISBN码, bType as 类别, bMoney as 单价元  from Borrow where bUserID='" + txtCard.Text + "'and isReturn='否'";
            SqlConnection conn = new SqlConnection(connStr);
            //使用cmd指令装载sql查询语句和conn数据连接   
            SqlCommand cmd = new SqlCommand(sql, conn);
            //new一个 datatable对象   
            DataTable dt =    new DataTable();
            //使用Sql数据适配器来装载cmd 指令   
            SqlDataAdapter sda = new SqlDataAdapter(cmd);
            //将数据适配器获取的内容放入数据表中   
            sda.Fill(dt);
            //将查询到的相应数据再次赋给datagridview控件   
            gvList.DataSource = dt;   
        }
private void txtCode_TextChanged(object sender, EventArgs e)
        {
            if (this.txtCode.Text == "" )
            {
                this.txtBName.Text = ""; this.txtAuthor.Text = "";
                this.txtMoney.Text = ""; this.txtBType2.Text = "";
                this.txtIsbn.Text = ""; this.txtPress.Text = "";
                this.txtNumAll.Text = ""; this.txtNumIn.Text = "";
                return;
            }
            ADO ado1 = new ADO();
            try
            {
                ado1.sqlOpen();
                ado1.comm.CommandText = "select BookId  "+ "from BookCode where code ='" + this.txtCode.Text.Trim().ToString()+"'" ;
                SqlDataReader reader1 = ado1.comm.ExecuteReader();
                if (reader1.Read() )
                {
                    
                    this.zhuanhuan.Text = reader1.GetInt32(0).ToString();
                }
                else
                {
                    this.zhuanhuan.Text = "";
                }
            }
            catch (System.Exception ex)
            {
                MessageBox.Show(ex.ToString());
            }
            finally
            {
                ado1.sqlClose();
            }
            ADO ado = new ADO();
            try
            {
                if (this.zhuanhuan.Text == "")
                {
                    this.txtBName.Text = ""; this.txtAuthor.Text = "";
                    this.txtMoney.Text = ""; this.txtBType2.Text = "";
                    this.txtIsbn.Text = ""; this.txtPress.Text = "";
                    this.txtNumAll.Text = ""; this.txtNumIn.Text = "";
                    return;
                }
                else
                {
                    ado.sqlOpen();
                    ado.comm.CommandText = "select BookName,  BookAuthor, BookValue, BookType  , ISBN, BookPress , Library , BookSum" +
                      " from Book where BookId =" + zhuanhuan.Text;
                    SqlDataReader reader = ado.comm.ExecuteReader();                    if (reader.Read())
                    {
                        this.txtBName.Text = reader.GetString(0); this.txtAuthor.Text = reader.GetString(1);
                        this.txtMoney.Text = reader.GetString(2); this.txtBType2.Text = reader.GetString(3);
                        this.txtIsbn.Text = reader.GetString(4); this.txtPress.Text = reader.GetString(5);
                        this.txtNumAll.Text = reader.GetString(6); this.txtNumIn.Text = reader.GetInt32(7).ToString();
                       
                    }
                    else
                    {
                        this.txtBName.Text = ""; this.txtAuthor.Text = "";
                        this.txtMoney.Text = ""; this.txtBType2.Text = "";
                        this.txtIsbn.Text = ""; this.txtPress.Text = "";
                        this.txtNumAll.Text = ""; this.txtNumIn.Text = "";
                    }
                }
            }
            catch (System.Exception ex)
            {
                MessageBox.Show(ex.ToString());
            }
            finally
            {
                ado.sqlClose();
            }    
        }

解决方案 »

  1.   

    这个是按钮的事件
      private void btnHasBook_Click(object sender, EventArgs e)
            {
                string sql4 = "select  bcode from Borrow where bcode='" + txtCode.Text + "'";
                //新建SQL 数据库连接
                SqlConnection conn4 = new SqlConnection(connStr);
                //使用SQL cmd指令来装载 sql查询语句和数据库连接
                SqlCommand cmd4 = new SqlCommand(sql4, conn4);
                //执行操作前  需要打开数据库连接
                conn4.Open();
                //使用SqlDataReader 对cmd 执行读取指令的数据 进行逐行读取
                SqlDataReader sdr4 = cmd4.ExecuteReader();
                //如果读到数据了,说明 数据库中已存在              if (sdr4.Read())
                {
                    MessageBox.Show("该书已经借出 !", "提 示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                    txtCode.Clear();
                    return;
                }
                else
                {
                    int k = 0;
                    try
                    {
                        string sql1 = "insert into Borrow(bcode,bBookNa,bUserID, bName , BorrowTime , BackTime , isReturn ,bIsbn, bType, bMoney) values    (@bcode,@bBookNa,@bUserID,@bName,@BorrowTime,@BackTime,@isReturn,@bIsbn,@bType,@bMoney)";
                        SqlParameter[] param ={
                                  new SqlParameter("@bcode",txtCode.Text),   
                                  new SqlParameter("@bBookNa",txtBName.Text),   
                                   new SqlParameter("@bUserID",txtCard.Text),
                                   new SqlParameter("@bName",txtRName.Text),
                                   new SqlParameter("@BorrowTime",txtBDate.Text.ToString()),
                                   new SqlParameter("@BackTime",txtEDate.Text.ToString()),
                            //       new SqlParameter("@realBtime",txtSDate.Text ),
                                   new SqlParameter("@isReturn","否"),
                                   new SqlParameter("@bIsbn",txtIsbn.Text),
                                   new SqlParameter("@bType",txtBType2.Text),
                                   new SqlParameter("@bMoney",txtMoney.Text),
                              };
                        SqlConnection conn = new SqlConnection(connStr);
                        //使用cmd指令来装载 sql查询语句和conn连接指令   
                        SqlCommand cmd = new SqlCommand(sql1, conn);
                        //打开数据库   
                        conn.Open();
                        //向cmd中添加所有参数   
                        cmd.Parameters.AddRange(param);
                        //将cmd的执行查询获得的整数值赋给n   
                        k = cmd.ExecuteNonQuery();
                        //关闭数据库   
                        conn.Close();
                    }
                    catch (System.Exception ex)
                    {
                        MessageBox.Show(ex.ToString());
                    }
                    if (k > 0)
                    {
                        MessageBox.Show("成功借出这本书!");
                        btnHasBook.Enabled = false;
                        zhuanhuan.Clear();
                        txtCode.Clear();
                        string sql = "select id as 编号, bcode as 条形码, bBookNa as 书名, bUserID as 借阅证, bName as 姓名, BorrowTime as 借出时间, BackTime as 应还时间,  realBtime as 归还时间, isReturn as 是否归还, bIsbn as ISBN码, bType as 类别, bMoney as 单价元  from Borrow where bUserID='" + txtCard.Text + "'and isReturn='否'";
                        SqlConnection conn = new SqlConnection(connStr);
                        //使用cmd指令装载sql查询语句和conn数据连接   
                        SqlCommand cmd = new SqlCommand(sql, conn);
                        //new一个 datatable对象   
                        DataTable dt = new DataTable();
                        //使用Sql数据适配器来装载cmd 指令   
                        SqlDataAdapter sda = new SqlDataAdapter(cmd);
                        //将数据适配器获取的内容放入数据表中   
                        sda.Fill(dt);
                        //将查询到的相应数据再次赋给datagridview控件   
                        gvList.DataSource = dt;   
                    }
                    else
                    { MessageBox.Show("失败"); }
                 
                }
            }