将 null 值插入 Access 数据库

Jack J Jun 24,616 信誉分 Microsoft 供应商
2024-02-02T02:54:40.1866667+00:00

如果窗体有四个输入值:textBoxForField1、comboBoxForField2、comboBoxForField3、DateTimeForField4。 假设 textBoxForField1 和 comboBoxForField2 是必需的,在编写下面的 SQL 语句之前已经检查过它们;comboBoxForField3 和 DateTimeForField4 是可选的。所以我只需要检查 comboBoxForField3 和 DateTimeForField4 是否为 null。 所以我会写下面这样的东西。不确定我是否正确编写语法,这只是我的逻辑。 现在这里有问题:

1.     对于这个问题,只有 2 个可选的输入值(Field3 和 Field4 是可选的),已经有 4 个 SQL 语句的组合。如果有三个可选字段,则组合 8 个 SQL 语句;如果有 4 个可选字段,则组合 16 个 SQL 语句。显然,我的写作方式效率不高,必须有正确的写法,怎么写?

2.     如何在数据库中输入DateTime选取器值?请确保它是 Date 数据类型(Access 表字段数据类型也是 date),而不是字符串数据类型。

谢谢。 Note:此问题总结整理于: Insert null vale to Access database - Microsoft Q&A

Windows 窗体
Windows 窗体
一组用于开发图形用户界面的 .NET Framework 托管库。
115 个问题
0 个注释 无注释
{count} 票

1 个答案

排序依据: 非常有帮助
  1. Hui Liu-MSFT 48,586 信誉分 Microsoft 供应商
    2024-02-02T06:58:46.8166667+00:00

    您好,

    首先,您可以使用 String.IsNullOrEmpty(String) 方法来检查 Field3 或 Field4 是否为 null。
    然后,您可以使用?: 运算符 而不是 if else 语句。
    如果它为 null,则可以传递字符串。清空到数据表中。

    否则,您可以传递 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()) +"') ");
    
    
    

    如果答案是正确的,请点击“接受答案”并点赞。 如果您对此答案还有其他疑问,请点击“评论”。 注意:如果您想接收相关电子邮件,请按照我们的文档中的步骤启用电子邮件通知 此线程的通知。

    0 个注释 无注释

你的答案

问题作者可以将答案标记为“接受的答案”,这有助于用户了解已解决作者问题的答案。