无法使用 C# 将数据插入 SQL 服务器
can't insert data into SQL Server with C#
我正在尝试将数据插入数据库,首先我使用了托盘捕获和调试。没有错误,但没有插入数据。然后我删除 try catch 并找到这个:
"Cannot insert the value NULL into column 'ContactID', table 'Contact_DB3.dbo.TContacts'; column does not allow nulls."
我的输入不为空,我该如何解决?
Screenshot
public bool Insert(string name, string family, string mobile)
{
SqlConnection connection = new SqlConnection(connectionstring);
string query = "insert into TContacts (Name,Family,Mobile) Values ( @Name , @Family , @Mobile ) ";
SqlCommand command = new SqlCommand(query, connection);
command.Parameters.AddWithValue("@Name", name);
command.Parameters.AddWithValue("@Family", family);
command.Parameters.AddWithValue("@Mobile", mobile);
connection.Open();
command.ExecuteNonQuery();
return true;
connection.Close();
}
如果您的 table 根据您的问题不允许空值,则该列是 ContactID。你可以做两件事之一。
- 从您的代码中使用 GUID 生成一个 ID 并将其传递给保存调用。
或者
- 将 table 中的 ContactID 设置为标识列类型
我正在尝试将数据插入数据库,首先我使用了托盘捕获和调试。没有错误,但没有插入数据。然后我删除 try catch 并找到这个:
"Cannot insert the value NULL into column 'ContactID', table 'Contact_DB3.dbo.TContacts'; column does not allow nulls."
我的输入不为空,我该如何解决?
Screenshot
public bool Insert(string name, string family, string mobile)
{
SqlConnection connection = new SqlConnection(connectionstring);
string query = "insert into TContacts (Name,Family,Mobile) Values ( @Name , @Family , @Mobile ) ";
SqlCommand command = new SqlCommand(query, connection);
command.Parameters.AddWithValue("@Name", name);
command.Parameters.AddWithValue("@Family", family);
command.Parameters.AddWithValue("@Mobile", mobile);
connection.Open();
command.ExecuteNonQuery();
return true;
connection.Close();
}
如果您的 table 根据您的问题不允许空值,则该列是 ContactID。你可以做两件事之一。
- 从您的代码中使用 GUID 生成一个 ID 并将其传递给保存调用。 或者
- 将 table 中的 ContactID 设置为标识列类型