将 null vale 插入 Access 数据库

匿名
2024-04-02T07:05:47.0366667+00:00

如果窗体有四个输入值:textBoxForField1、comboBoxForField2、comboBoxForField3、DateTimeForField4。

假设 textBoxForField1 和 comboBoxForField2 是必需的,在编写下面的 SQL 语句之前已经检查过它们;comboBoxForField3 和 DateTimeForField4 是可选的。因此,我只需要检查comboBoxForField3和DateTimeForField4是否为空。

所以我会在下面写一些东西。不确定我是否正确编写语法,这只是我的逻辑。

现在这里有问题:

  1. 对于这个问题,只有 2 个可选的输入值(Field3 和 Field4 是可选的),已经有 4 个 SQL 语句的组合。如果是三个可选字段,则组合 8 个 SQL 语句;如果有四个可选字段,则组合 16 个 SQL 语句。显然,我的写作方式没有效率,必须有正确的写作方式,怎么写?
  2. 如何在数据库中输入DateTime选择器值?请确保它是 Date 数据类型(Access 表字段数据类型也是 date),而不是字符串数据类型。

谢谢。

if (comboBoxForField3.Text == null && DateTimeForField4.SelectedDate == null)

{
string sqlQuery = "Insert into TableRecord (Field1, Field2, Field3, Field4) Value (textBoxForField1.Text, comboBoxForField2.Text, null, null)
}

elseif (comboBoxForField3.Text == null && !(DateTimeForField4.SelectedDate == null))

{
string sqlQuery = "Insert into TableRecord (Field1, Field2, Field3, Field4) Value (textBoxForField1.Text, comboBoxForField2.Text, null, DateTimeForField4.Value)
}

elseif (!(comboBoxForField3.Text == null) && DateTimeForField4.SelectedDate == null)

{
string sqlQuery = "Insert into TableRecord (Field1, Field2, Field3, Field4) Value (textBoxForField1.Text, comboBoxForField2.Text, comboBoxForField3.Text, null)
}

else
{
string sqlQuery = "Insert into TableRecord (Field1, Field2, Field3, Field4) Value (textBoxForField1.Text, comboBoxForField2.Text, comboBoxForField3.Text, DateTimeForField4.Value)
}

Note:此问题总结整理于: Insert null vale to Access database

开发人员技术 | Windows 窗体
0 个注释 无注释

问题作者接受的答案
Hui Liu-MSFT 48,726 信誉分 Microsoft 外部员工
2024-04-02T07:51:28.2466667+00:00

首先,您可以使用 String.IsNullOrEmpty(String) 方法检查 Field3 或 Field4 是否为 null。 然后,您可以使用条件运算符 ?: 而不是 if else 语句。 如果它为 null,则可以传递字符串。清空到 datatable。否则,可以传递 Field3 和 Field4 的值。 可以通过 dateTimePicker1.Value.Date 将 DateTime 选取器值输入到数据库中。 Sql statemet 看起来像:(Id 在我的测试中是 PRIMARY KEY)

 string sqlQuery =("insert into TableRecord (Id,Field1,Filed2,Filed3,Filed4) values ('" + textBox1.Text + "','" + textBox2.Text + "','" + comboBox1.SelectedItem.ToString() + "','"+(string.IsNullOrEmpty(comboBox2.SelectedItem.ToString()) ? string.Empty : comboBox2.SelectedItem.ToString())+"', '"+ (string.IsNullOrEmpty(dateTimePicker1.Value.Date.ToShortDateString()) ? string.Empty : dateTimePicker1.Value.Date.ToShortDateString()) +"') ");



如果回复有帮助,请点击“接受答案”并点赞。

注意:如果您想接收此线程的相关电子邮件通知,请按照我们文档中的步骤启用电子邮件通知。

此答案是否有帮助?

1 个人认为此答案很有帮助。

0 个其他答案

排序依据: 最早

你的答案

提问者可以将答案标记为“已接受”,审查方可以将答案标记为“已推荐”,这有助于用户了解答案是否解决了提问者的问题。