女士们先生们大家好
我正在为我认为应该是一个简单的解决方案而苦苦挣扎,但找不到它
基本上我是通过SQL建表,运行SQL的时候出现问题。 这是我的代码:
OleDbCommand cmd = new OleDbCommand
(@"创建表"+ ClientID + "
(Transaction_ID INT PRIMARY KEY NOT NULL,
交易字符(255),
日期 DATE,
交易金额 INT,
平衡积分,
存入INT,
撤回INT,
贷款INT,
应用INT,
批准的 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'
关于c# - SQL 中用于创建表 C# 的语法错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26221796/