【发布时间】:2017-12-01 08:00:05
【问题描述】:
我创建了一个 Web 项目,但是当我尝试将值插入本地数据库时,我收到以下错误:
错误:列名“22 478 295 290”无效。列名“Oreki”无效。列名“Redgrave”无效。列名“女性”无效。列名“Sample@gmail.com”无效。列名“1234”无效。列名 ''12, 1 2017'' 无效。列名“18:41:44:529”无效。
这是我的 SQL 表:
CREATE TABLE [dbo].[Account] (
[ID] VARCHAR(50) NOT NULL,
[Firstname] VARCHAR (MAX) NOT NULL,
[Lastname] VARCHAR(50) NOT NULL,
[Gender] VARCHAR (10) NOT NULL,
[Email] VARCHAR(50) NOT NULL,
[Password] VARCHAR(50) NOT NULL,
[DateRegister] VARCHAR (50) NOT NULL,
[TimeRegister] VARCHAR (25) NOT NULL,
CONSTRAINT [PK_Account] PRIMARY KEY ([ID])
);
这是我的 ASP.Net C# 代码:
try
{
SqlConnection Connect = new SqlConnection("Data Source=(LocalDB)\\MSSQLLocalDB;AttachDbFilename=C:\\Users\\Oreki Illustration\\Documents\\NowTips.mdf;Integrated Security=True;Connect Timeout=30");
SqlCommand Say = new SqlCommand();
DateTime Date = DateTime.Now;
string GetStringDate = Date.Month.ToString() + ", " + Date.Day.ToString() + " " + Date.Year.ToString();
string GetStringTime = Date.Hour.ToString() + ":" + Date.Minute.ToString() + ":" + Date.Second.ToString() + ":" + Date.Millisecond.ToString();
Connect.Open();
Say.Connection = Connect;
Say.CommandText = "Insert into Account values (['" + GetID + "'], ['" + Firstname.Text + "'], ['" + Lastname.Text + "'], ['" + Gender.SelectedValue.ToString() + "'], ['" + Email.Text + "'], ['" + RePassword.Text + "'], ['" + GetStringDate + "'], ['" + GetStringTime + "'])";
Say.ExecuteNonQuery();
Connect.Close();
}
catch (Exception Message)
{
form1.InnerHtml = "Error : " + Message.Message;
}
public string GetID
{
get
{
string A = "", B = "", C = "", D = "";
Random RandomID = new Random();
for (int x = 0; x < 10; x++) A = RandomID.Next(1000).ToString();
for (int x = 0; x < 10; x++) B = RandomID.Next(1000).ToString();
for (int x = 0; x < 10; x++) C = RandomID.Next(1000).ToString();
for (int x = 0; x < 10; x++) D = RandomID.Next(1000).ToString();
return A + " " + B + " " + C + " " + D;
}
}
我该如何解决这个错误?
【问题讨论】:
-
我的 sql 还是 SQL Server?在标题中,您是指您的 SQL 数据库还是您的“MySQL”数据库
-
本地 SQL 查询
-
不,我问的是您使用的是哪种 SQL 产品?无论如何,我知道答案是它的 SQL Server。不要标记你不使用的产品。
-
删除 VALUES 周围的方括号。除此之外,您的代码容易受到 Sql Injection 的攻击。 尽快了解如何避免它(提示:搜索参数化查询)
-
Visual Studio 2015 社区 SQL Server
标签: c# asp.net sql-server sqlcommand