我做的是添加房屋信息的一条记录 如果我这个房号已经添加过了 则显示当前房屋已添加
如果没有的话 则执行添加房屋信息的过程 我这个总是出错 提示说房号是主键 好像没有经过上面的判断 求大神帮我修改下
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("已有当前房号");
}