c# - 关于mssql和mysql中的select查询以及表名的保留关键字问题

标签 c# mysql asp.net sql-server sql-server-2008-r2

在 mysql 中我设置了这个 SET sql_mode = 'ANSI'; 我的查询是这样的:

select username, password from "user" where username = 'admin' 
 and password = 'password123'

并且此查询在 mysql 和 mssql 中成功运行。 但问题是我有问题

Sqlcommand cmd=new Sqlcommand()
cmd.commanttext=:select username, password from "user" where username = 'admin' 
 and password = 'password123'";

当我使用 adp.fill(ds) 时 它给了我 sql 语法错误。

那我该如何解决呢。 另请记住 MYtable 名称是 :=user 这是 MSSQL 和 MYSQL 保留关键字。那么我该如何解决这个问题?

最佳答案

使用 parameterized queries 的 SQL Server ..

Sqlcommand cmd = new Sqlcommand();
cmd.CommandText = "select username, password from user where username = @admin and password = @pass";
cmd.Parameters.AddWithValue("@admin", "admin");
cmd.Parameters.AddWithValue("@pass", "password123");

关于c# - 关于mssql和mysql中的select查询以及表名的保留关键字问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19227608/

相关文章:

asp.net - 如何检测aspx中的设计时间

c# - 当我从下拉列表中选择项目时出现下拉选择错误

c# - Web 应用程序生成错误 : The CodeDom provider type Microsoft. 找不到 VisualC.CppCodeProvider

c# - Windows 窗体 - Tab 键在子面板中不起作用

mysql - 将两列中的数据合并为一列进行排序

php - 将 SQL 查询转换为 Doctrine,Error

mysql - 5.5.52-MariaDB 与 5.6.15 mysql 触发器不工作

c# - 静态或非静态方法,线程安全是针对类型而不是方法

c# - 如何在 nhibernate 中映射有序列表?

c# - 属性规范中奇怪的歧义(两个 using 指令)