首页 > 解决方案 > 无法使用 C# 将数据插入 SQL Server

问题描述

我正在尝试将数据插入数据库,首先我使用托盘捕获和调试。没有错误,但没有插入数据。然后我删除 try catch 并找到这个:

"Cannot insert the value NULL into column 'ContactID', table 'Contact_DB3.dbo.TContacts'; column does not allow nulls."

我的输入不是空的,我该如何解决这个问题?

截屏

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();
            
        }

标签: insertexecutenonquery

解决方案


如果根据您的问题,您的表不允许为空,则该列是 ContactID。你可以做两件事之一。

  1. 从您的代码中使用 GUID 生成一个 ID 并将其传递给 save 调用。或者
  2. 将表中的ContactID设置为标识列类型

推荐阅读