当前位置: 代码迷 >> C# >> 便是数据库有这条记录在C#里添加的时候判断
  详细解决方案

便是数据库有这条记录在C#里添加的时候判断

热度:184   发布时间:2016-05-05 05:21:10.0
就是数据库有这条记录在C#里添加的时候判断
我做的是添加房屋信息的一条记录  如果我这个房号已经添加过了  则显示当前房屋已添加
如果没有的话 则执行添加房屋信息的过程    我这个总是出错 提示说房号是主键  好像没有经过上面的判断  求大神帮我修改下
            SqlCommand c = new SqlCommand();
            c.CommandText = "select count(*)  from fangwuxinxi where RoomID=" + textBox1.Text.Trim();
            c.Connection = DBHelper.con;
            DBHelper.con.Open();
            int t = (int)c.ExecuteScalar();//记录找到为1
            DBHelper.con.Close();
            if (t != 1)
            {
                MessageBox.Show("已有当前房号");
            }
            else
            {
                //添加房屋信息
                //SqlCommand s = new SqlCommand();
                c.Parameters.Add("@RoomID", SqlDbType.Int).Value = textBox1.Text.Trim();
                c.Parameters.Add("@RoomType", SqlDbType.NVarChar, 50).Value = comboBox1.SelectedItem.ToString();
                c.Parameters.Add("@RoomState", SqlDbType.NVarChar, 50).Value = comboBox2.SelectedItem.ToString();
                c.Parameters.Add("@IsComputer", SqlDbType.NVarChar, 50).Value = checkBox1.Checked ? "是" : "";
                c.Parameters.Add("@RoomPrice", SqlDbType.NVarChar, 50).Value = comboBox3.SelectedItem.ToString();
                c.Parameters.Add("@RoomDeposit", SqlDbType.NVarChar, 50).Value = comboBox4.SelectedItem.ToString();
                c.CommandText = "insert into fangwuxinxi(RoomID,RoomType,RoomState,IsComputer,RoomPrice,RoomDeposit) values(@RoomID,@RoomType,@RoomState,@IsComputer,@RoomPrice,@RoomDeposit)";
                c.Connection = DBHelper.con;
                DBHelper.con.Open();
                c.ExecuteNonQuery();
                DBHelper.con.Close();
                MessageBox.Show("添加成功!");
            }

------解决思路----------------------
if (t != 1)
为什么?
应该是
if (t == 1)吧,起码是 t > 0吧。
------解决思路----------------------
if (t== 1)
            {
                MessageBox.Show("已有当前房号");
            }
  相关解决方案