Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/30.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# 插入时出错:提供的值的列名或数目与表定义不匹配_C#_Asp.net_Input_Contact Form - Fatal编程技术网

C# 插入时出错:提供的值的列名或数目与表定义不匹配

C# 插入时出错:提供的值的列名或数目与表定义不匹配,c#,asp.net,input,contact-form,C#,Asp.net,Input,Contact Form,当我运行此代码时,它返回一个错误。我正试图从我的输入表单中获取数据到我的数据库中 这是表架构: 创建表[dbo]。[Students] [Id]整数标识1,1不为空, [名称]NVARCHAR最大值不为空, [电子邮件]NVARCHAR最大值不为空, [密码]NVARCHAR MAX不为空, 约束[PK_学生]主键群集[Id]ASC ; 如果说INSERT INTO而不列出要插入SQL的字段的名称,则假定您正在为行中的每个字段插入一个值。因此,如果表中的列超过四列,则会出现该错误 如果这就是问题

当我运行此代码时,它返回一个错误。我正试图从我的输入表单中获取数据到我的数据库中

这是表架构:

创建表[dbo]。[Students] [Id]整数标识1,1不为空, [名称]NVARCHAR最大值不为空, [电子邮件]NVARCHAR最大值不为空, [密码]NVARCHAR MAX不为空, 约束[PK_学生]主键群集[Id]ASC ; 如果说INSERT INTO而不列出要插入SQL的字段的名称,则假定您正在为行中的每个字段插入一个值。因此,如果表中的列超过四列,则会出现该错误

如果这就是问题所在,那么您只需要指定要插入的字段,即需要以下格式的insert语句:

INSERT INTO Customers (CustomerName, ContactName, Address, City, PostalCode, Country)
VALUES ('Cardinal','Tom B. Erichsen','Skagen 21','Stavanger','4006','Norway')
上面的例子


不过,最好使用参数化查询。

如果表中的列超过4列,则需要包含与值相关的列。我不想引用w3schools作为一个来源,但它们有一个简短的例子来说明这两种方法;包括特定列以及在没有列的情况下的操作方式。请提供表定义!否则,重新编写insert语句以插入reg column1、column2、column3、column4值“+TextBox1.Text+”、“+TextBox2.Text+”、“+TextBox3.Text+”,“+TextBox4.Text+”以及最后一个用户参数。值得一提的是,您完全可以使用sql注入使用参数并更改Insert命令声明要插入的确切列,并向我们显示表架构。。还做一些基本的谷歌搜索,了解如何构造一个合适的插入命令。顺便问一下,谁是盖伊。。?
INSERT INTO Customers (CustomerName, ContactName, Address, City, PostalCode, Country)
VALUES ('Cardinal','Tom B. Erichsen','Skagen 21','Stavanger','4006','Norway')