我想将值保存到MySQL数据库。
我检查了数据库是否不应插入空值。我有三个文本框,并检查文本框的值是否为null,然后显示一条消息,指出null值是不可接受的。
问题是,当我第一次加载表单时,按下插入按钮后它可以正常工作,但是第二次它接受插入到数据库中的空值。
我的代码是:
If TextBox1.Text = "" And TextBox2.Text = "" And TextBox3.Text = "" And ComboBox1.Text = "" Then
MessageBox.Show("please write data", "Input Error")
TextBox1.Focus()
Else
// my program body
end if
但是当我第二次单击插入按钮时,它不会读取文本框的值是否为空的条件……
答案 0 :(得分:2)
我认为文本框的值第二次为空时,它们可能包含一些空格。因此,在使用文本框之前,您必须先修剪文本框中的文本,如下面的代码所示。您还应该在if语句中将And
更改为Or
,否则除非所有文本框都为空,否则它将不会执行。
If Trim(TextBox1.Text) = "" Or Trim(TextBox2.Text) = "" Or Trim(TextBox3.Text) = "" Or Trim(ComboBox1.Text) = "" Then
MessageBox.Show("please write data", "Input Error")
TextBox1.Focus()
Else
'my program body
end if
答案 1 :(得分:1)
TextBox的默认Text属性为空字符串,而不是null值。那不是你的情况。为了验证您的数据,您必须将@运算符替换为OR,如@preciousbetine所述。
如果使用AND运算符,则所有文本框都必须为空才能返回错误。
答案 2 :(得分:0)
如果您不希望将NULL
值添加到数据库中,也可以ALTER
表,并在所需的列中添加默认值。这是一个示例(用于SQL Server
):
ALTER TABLE dbo.TABLE
ADD CONSTRAINT A_CONSTRAINT DEFAULT 50 FOR YOUR_DESIRED_COLUMN ;