【发布时间】:2016-04-17 15:37:06
【问题描述】:
当我运行这段代码时,它会返回一个错误。我正在尝试将数据从我的输入表单中获取到我的数据库中
这是表架构:
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();
【问题讨论】:
-
如果您的表有超过 4 列,则需要包含与值相关的列。我不喜欢引用 w3schools 作为来源,但他们有一个简短而简洁的例子 how to write an INSERT statement 双向;包括特定的列以及没有这些列的处理方式。
-
请提供表定义!否则将您的插入语句重写为“INSERT INTO reg (column1, column2, column3, column4) VALUES ('"+TextBox1.Text+ "','" +TextBox2.Text+ "','" +TextBox3.Text+ "', '" +TextBox4.Text+"')" 最后是用户参数。
-
值得一提的是你对 sql 注入持开放态度
-
使用参数并更改您的插入命令声明您想要的确切列
INSERT INTO向我们展示表架构.. 还对如何构建正确的插入命令进行一些基本的谷歌搜索 -
顺便问一下
Guy是谁..?
标签: c# asp.net input contact-form