当我运行此代码时,它会返回错误。我试图将输入表单中的数据导入我的数据库
这是表架构:
CREATE TABLE [dbo].[Students] (
[Id] INT IDENTITY (1, 1) NOT NULL,
[Name] NVARCHAR (MAX) NOT NULL,
[Email] NVARCHAR (MAX) NOT NULL,
[Password] NVARCHAR (MAX) NOT NULL,
CONSTRAINT [PK_Students] PRIMARY KEY CLUSTERED ([Id] ASC)
);
con.Open();
SqlCommand cmd = con.CreateCommand();
cmd.CommandType = CommandType.Text;
cmd.CommandText = "INSERT INTO Students VALUES ('"+TextBox1.Text+ "','" +TextBox2.Text+ "','" +TextBox3.Text+ "','" +TextBox4.Text+"')";
cmd.ExecuteNonQuery();
con.Close();
答案 0 :(得分:4)
通过说INSERT INTO
而不列出要插入SQL的字段的名称,假设您要为行中的每个字段插入一个值。因此,如果您的表格有四列以上,您将收到该错误。
如果这是问题,那么您只需要指定要插入的字段,即需要以这种格式插入语句:
INSERT INTO Customers (CustomerName, ContactName, Address, City, PostalCode, Country)
VALUES ('Cardinal','Tom B. Erichsen','Skagen 21','Stavanger','4006','Norway')
以上示例from here。
然而,使用参数化查询会更好。