查询 C# 中表名中的单引号
本文关键字:单引号 查询 | 更新日期: 2023-09-27 17:56:46
我正在尝试从 C# 对 dbase IV 表运行查询。我对 C# 并不是那么有经验,我已经走到了尽头,因为我的 select 语句失败了,因为我尝试查询的表包含单引号。
我正在使用 ODBC 连接连接到表,该部分工作正常。如果我重命名它并删除引号,我会对同一个表运行查询。
我尝试使用反斜杠转义它,使用 2 个单引号,并对查询进行参数化,只是发现这不适用于表名。
命令文本就是这样,这是问题的根源......
cmd.CommandText = "SELECT * FROM E4X'MAIN";
请帮助我完全陷入困境,花了几天时间寻找解决方案,只是一次又一次地受挫......
也许:
cmd.CommandText = "SELECT * FROM [E4X'MAIN]";
?
编辑:
我到处寻找这个问题的答案,但我一无所获。 我唯一能说的是,每个人似乎都一致认为这样的表名是一个坏主意。但我猜,既然你已经花了很多时间在上面,所以永久重命名表对你来说不是一个选择。但如果以某种方式,我建议你接受它。
它是 SQl 服务器?神谕?
试
cmd.CommandText = @"SELECT * FROM E4X'MAIN";
cmd.CommandText = @"SELECT * FROM [E4X'MAIN]";
?
仅供参考,我已经找到了解决问题的方法。如果我像沙赞一样构建我的查询,她就会工作!!
cmd.CommandText = "SELECT * FROM '`E4X'MAIN.DBF'`;
感谢您的所有帮助,希望这个答案可以帮助其他陷入可怕的命名约定的人
雷诺