SQL中用于创建表C#的语法错误
本文关键字:语法 错误 用于 创建 SQL | 更新日期: 2023-09-27 18:25:40
Hallo女士们先生们
我正在纠结于我认为应该是一个简单的解决方案,但找不到
基本上,我是通过SQL创建表的,当我运行SQL时,它会出现问题。这是我的代码:
OleDbCommand cmd = new OleDbCommand
(@"CREATE TABLE " + ClientID + "
(Transaction_ID INT PRIMARY KEY NOT NULL,
Transaction CHAR(255),
Date DATE,
Transaction_Amount INT,
Balance INT,
Deposited INT,
Withdrew INT,
Loan INT,
Applied INT,
Approved INT,
Payment_Monthly INT,
Monthly_Income INT)", mydb);
现在,我测试了我的SQL语句,以找出SQL的哪一部分出现了错误,当我删除字段Transaction
和Date
时,我发现它是有效的。如果我只删除其中一个,它仍然会崩溃。我甚至尝试将数据类型(如CHAR(255)
到VARCHAR(255)
)以及DATE
到INT
进行更改。
老实说,我似乎找不出问题。请帮助
谢谢你抽出时间。
PS:ClientID
是三个数字和三个字母的组合,例如带有一个标签。123#ABC
这两个列名是SQL中的保留字。将它们放在方括号中可以解决您的问题:
[Transaction] CHAR(255),
[Date] DATE,
请记住,任何时候在动态SQL或存储过程中访问这些字段时,都必须使用方括号,即
SELECT * FROM ClientTable WHERE [Transaction] = 'A'