Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/297.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# ASP.NET SQL插入错误_C#_Asp.net_Mysql_Sql_Sql Server - Fatal编程技术网

C# ASP.NET SQL插入错误

C# ASP.NET SQL插入错误,c#,asp.net,mysql,sql,sql-server,C#,Asp.net,Mysql,Sql,Sql Server,在ASP.NET中,我尝试使用insert语句配置DetailsView控件。我运行insert命令,发现错误: “列“地址”不能为空” 我的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,Bir

在ASP.NET中,我尝试使用insert语句配置DetailsView控件。我运行insert命令,发现错误:

“列“地址”不能为空”

我的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语法错误。
谢谢

您似乎没有输入学生表的所有列。试着做

INSERT INTO Students (*column names*) VALUES (*values*)
这将确保即使您添加了一个新列,您的查询也能正常工作,并帮助您快速进行健全性检查,以确保您拥有所需的所有列

编辑:

根据你的新结果,我发现了问题所在。您的SQL是错误的。应该是这样的:

插入学生(姓名)值(@Name)

您不应该在值部分中使用列名=参数名

编辑2:


对于“地址不能为空错误”,您需要检查插入到地址中的值。它是数据库中不可为null的字段,您输入的值为null。这会让您向用户返回一个错误,表示他们需要地址。

您似乎没有为Students表输入所有列。试着做

INSERT INTO Students (*column names*) VALUES (*values*)
这将确保即使您添加了一个新列,您的查询也能正常工作,并帮助您快速进行健全性检查,以确保您拥有所需的所有列

编辑:

根据你的新结果,我发现了问题所在。您的SQL是错误的。应该是这样的:

插入学生(姓名)值(@Name)

您不应该在值部分中使用列名=参数名

编辑2:


对于“地址不能为空错误”,您需要检查插入到地址中的值。它是数据库中不可为null的字段,您输入的值为null。这应该会让您向用户返回一个错误,说他们需要地址。

您为insert编写的语法对我来说很奇怪

应该是,

Insert into table_name (col1, col2) values (@val_col1, @val_col2)

我觉得您为insert编写的语法很奇怪

应该是,

Insert into table_name (col1, col2) values (@val_col1, @val_col2)


看起来有点简单。你还卡住了吗

似乎有点简单。你还卡住了吗

这是MySQL的。请看上面我编辑的专栏。我应该只使用@values而不是每个列名=@something吗?这是针对MySQL的。请看上面我编辑的专栏。我应该只使用@values而不是每个列名=@something吗?我已经更新了这些列。新的错误出现了:“您的SQL语法有错误;请查看与您的MySQL服务器版本对应的手册,以了解在“
riture\u-Proficiency
Library\u-Hours
)值(
Name
=@Name,
Address`=@Address'第1行)附近使用的正确语法。”@Klinetel您使用反勾号而不是单引号有什么原因吗?我不记得在使用SQLNot时,我最初使用它们来表示中间有空格的列(两个单词)。但这可能不会有什么区别。@Klinetel我已根据您的最新编辑更新了我的答案。我已更新了列。新错误显示:“您的SQL语法有错误;请检查与您的MySQL服务器版本对应的手册,以了解在第1行的“
标准
库时数
)值(
名称
=@Name,
地址`=@Address”附近使用的正确语法。”“@Klinetel您使用反勾号而不是单引号有什么原因吗?我不记得在执行SQLNot时,我最初使用它们来表示中间有空格(两个单词)的列。这可能不会有什么区别。@Klinetel我已经根据您最新的编辑更新了我的答案。发布参数。另外,问题似乎是控件在此处的任何文本框中都不能接受空白值。我想我将尝试使用try/catch块。请发布您的SQL表属性及其数据类型谢谢,但逻辑below完全回答了这个问题。我感谢您的帮助。发布参数。另外,问题似乎是控件无法接受此处任何文本框中的空白值。我想我将尝试使用try/catch块。请发布您的SQL表属性及其数据类型谢谢,但下面的逻辑完全回答了这个问题。I感谢你愿意帮忙。