c# - SQL 中用于创建表 C# 的语法错误

标签 c# sql

女士们先生们大家好

我正在为我认为应该是一个简单的解决方案而苦苦挣扎,但找不到它

基本上我是通过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 的哪一部分出错了,我发现当我删除字段TransactionDate 时它起作用了。如果我只删除其中一个,它仍然会崩溃。我什至尝试将数据类型更改为 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/

相关文章:

php - 用于从对话和消息表连接中选择最新消息的 MySql 查询

c# - 从 DLL 文件中读取资源

c# - IronPython - "AttributeError: object has no attribute"自定义类

sql - 按分组列值的变化对数据进行分组

c# - 使用c#连接到数据库时出错

mysql - SQL : 2 columns in 1 in result set

c# - 无法在 VB.Net 中调用 F# 扩展

c# - Linq to SQL 更新数据

c# - 使用 StreamWriter 作为参数之一对 void 方法进行单元测试

python - 在数据库查询中使用占位符不起作用