【问题标题】:How can I add data into a database column that allows NULL?如何将数据添加到允许 NULL 的数据库列中?
【发布时间】:2014-04-18 14:28:49
【问题描述】:

在 SQL Server 2008 中创建表时检查 is 列是否允许空值时,有什么方法可以将数据添加到数据库中?

SqlConnection con = new SqlConnection(@"Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\Database.mdf;Integrated Security=True;User Instance=True;");
String str = "UPDATE abc SET usn = @st1";

con.Open();

SqlCommand cmd = new SqlCommand(str, con);
{
    cmd.Parameters.AddWithValue("@st1", TextBox1.Text);

    cmd.ExecuteNonQuery();
}
con.Close();

这里usn 列在创建表时被选中允许为空。 谢谢

【问题讨论】:

  • 你能说得具体一点吗?
  • 我创建了一个表名 abc,它由一个列名 usn 组成,在创建表时检查了允许为空。我只需要保存单击按钮时用户在文本框中输入的数字。那么即使检查了允许空值,是否有可能保存数字?
  • 从用户界面更改表格的任何过程都是一个坏主意。使表格具有您需要的结构或使您的流程处理现有结构。为什么不指定您要实现的目标,并在 sql 代码而不是应用程序代码中向我们提供您当前的表结构,我们可以帮助您找到解决您的问题的方法,而不涉及更改列的数据完整性。
  • 先生,我创建了一个表名数据,它由 8 列组成,即 usnum、name、frstname、lastname、passwrd、address、bldgrp 和 phonum。在创建表时,我检查了所有接受 usnum 和名称的允许 null 选项。创建表后,我手动输入了 usnum 和名称的数据,并将所有其他字段留空。我想根据用户输入的 usnum 条件输入剩余 6 个字段的详细信息。
  • 因此,当用户输入正确的usnum,即数据库中已经存在的usnum时,它应该将用户重定向到注册页面,用户在其中输入其余6个详细信息,这些详细信息必须保存在用户输入的特定 usnum 的表数据。所以,我觉得我分配给所有其他 6 个的允许空值导致了这个问题。请帮忙!

标签: c# sql-server-2008


【解决方案1】:

允许空值意味着您也可以在数据库中存储空值。现在您说“即使检查了允许空值,是否有可能保存数字?”答案是“是”。存储值没有问题,即使允许为null。

【讨论】:

  • 先生,我试过了。我没有遇到任何错误,但数据没有保存到数据库中。请仔细阅读我上面发布的代码。如果我在任何地方错了,请告诉我。
  • SqlConnection con = new SqlConnection(@"Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\Database.mdf;Integrated Security=True;User Instance=True;"); String str = "更新 abc SET usn = @st1";con.Open(); SqlCommand and = new SqlCommand(alt, con); SqlCommand cmd = new SqlCommand(str, con); { cmd.Parameters.AddWithValue("@st1", TextBox1.Text); cmd.ExecuteNonQuery(); } con.Close();这些有什么问题吗?
  • 您的值正在更新,但 Visual Studio 并未更新“调试”文件夹中的数据库文件。将“数据库”文件从“solutoin”目录复制到“调试”文件夹,然后打开文件
  • 你的问题和这里stackoverflow.com/questions/23038248/…的一样
  • 先生,对不起。我想我正确地解释了我的问题。我会尽力向您解释主要问题。我创建了一个表名数据,它由 8 列组成,即 usnum、name、frstname、lastname、passwrd、address、bldgrp 和 phonum。在创建表时,我检查了所有接受 usnum 和名称的允许 null 选项。创建表后,我手动输入了 usnum 和名称的数据,并将所有其他字段留空。我想根据用户输入的 usnum 条件输入剩余 6 个字段的详细信息。
猜你喜欢
  • 2010-10-05
  • 2013-04-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-11-17
相关资源
最近更新 更多