请教各位如何将我这段代码中的查询到的数据库字段值赋值给字符串变量,以实现当指定字段为空时插入设定的值。
程序代码:private void button2_Click(object sender, EventArgs e)
{
this.Close();
}
private void button1_Click(object sender, EventArgs e)
{
comboBox1.DropDownStyle = System.Windows.if (comboBox1.Text == "")
{
MessageBox.Show("请选择需要退房的房号,否则无法退房!", "警告!", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
try
{
string Constr = "server=(local);Integrated Security=true;database=userdb";
SqlConnection SqlCon = new SqlConnection(Constr);
SqlCon.Open();
string Room_id = comboBox1.Text;
string OutTime = textBox1.Text;
string LKName = textBox2.Text;
//从这里开始比对退房对话框中所输入的信息与数据库中的信息是否匹配,
//如果匹配并且退房时间为空则可以退房,否则不允许退房。
//但是下面的这些写法似乎在什么地方出了问题了,一时还没找到。截止2010-07-15 5:00.
string LKNameDb = "select LKname from lkinfo where LKName = '" + LKName + "'";
string Room_idDb = "select room_id from lkinfo where room_id = '" + Room_id + "'";
string OutTimeDb = "select outtime from lkinfo";
if (OutTime == "")
{
MessageBox.Show("请输入退房时间,否则无法退房!", "警告!", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
else if (LKName == "")
{
MessageBox.Show("请输入登记入住的旅客姓名,否则无法退房!", "警告!", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
else if (LKName == LKNameDb)
{
if (Room_id == Room_idDb)
{
if (OutTimeDb != "")
{
MessageBox.Show("您要退的房间本身就是空房间,无法退房!", "警告!", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
}
else if (LKName == LKNameDb)
{
if (Room_id == Room_idDb)
{
if (OutTimeDb == "")
{
string sqlstr = "update lkinfo set outtime = '" + OutTime + " ' where outtime is null and room_id = '" + Room_id + " ' ";
SqlCon.Open();
SqlCommand cmd = SqlCon.CreateCommand();
= sqlstr;
int result = cmd.ExecuteNonQuery();
MessageBox.Show("退房成功!", "提示!", MessageBoxButtons.OK, MessageBoxIcon.Information);
comboBox1.Text = "";
textBox1.Text = "";
this.Close();
}
}
}
}
catch (Exception ty)
{
MessageBox.Show(ty.Message);
}
}
请教这段代码本是想通过SQL语句查询数据库中的字段值,并将查询到的字段值赋值给设定字符串变量,然后判断是否OutTime为空,如果为空则插入时间,并提示退房成功。但是搞了很久都没实现。想请教高手,我这段代码什么地方有问题。该如何编写这样功能的代码。本人没有可用分,所以......哎~~~~~ 惭愧惭愧......
[ 本帖最后由 huangweia0 于 2010-7-18 16:41 编辑 ]









