在 ASP.NET 中,我尝试使用插入语句配置 DetailsView 控件。我运行插入命令并收到错误:
"Column 'Address' cannot be null"
我的SQL:
INSERT INTO Students (Name, Address,College_Status,Email,Fraternity_Status,Major,Pledge_Class,Ship_ID,Dues_Paid,Service_Hours,Money_Donated,Phone,Shirt_Size,Phone_Carrier,Birthday,Chair_Position,Ritual_Proficiency,Library_Hours) Values (@Name,@Address,@College_Status,@Email,@Fraternity_Status,@Major,@Pledge_Class,@Ship_ID,@Dues_Paid,@Service_Hours,@Money_Donated,@Phone,@Shirt_Size,@Phone_Carrier,@Birthday,@Chair_Position,@Ritual_Proficiency,@Library_Hours)
任何想法将不胜感激。我认为这只是一个简单的 SQL 语法错误。 谢谢
最佳答案
您似乎没有输入 Students 表的所有列。尝试做
INSERT INTO Students (*column names*) VALUES (*values*)
这将确保您的查询即使在您添加新列的情况下也能正常工作,并帮助您进行快速完整性检查以确保您拥有所需的所有列。
编辑:
根据您的新结果,我发现了问题所在。你的 SQL 是错误的。它应该是这样的:
插入学生(姓名)值(@姓名)
您不应该在值部分使用列名 = 参数名。
编辑 2:
对于“Address cannot be null error”,您需要检查插入到 Address 中的值。它是数据库中不可为空的字段,您输入的值为空。这应该让您向用户返回一个错误,说他们需要一个地址。
关于c# - ASP.NET SQL 插入错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16493515/