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

C# 关于mssql和mysql中的select查询以及表名的保留关键字问题,c#,mysql,asp.net,sql-server,sql-server-2008-r2,C#,Mysql,Asp.net,Sql Server,Sql Server 2008 R2,在mysql中,我设置了这个集合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 "u

在mysql中,我设置了这个集合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.fillds时 这是给我的sql语法错误

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

如果您使用SQL Server作为一个SqlCommand,请编写:

Sqlcommand cmd = new Sqlcommand();
cmd.CommandText = "select username, password from " + 
                  "[user] where username = 'admin' " + 
                  "and password = 'password123'";
在Sql Server中,要分隔保留关键字,需要使用两个方括号。 在MySql中,您使用backticks

如果您有一个可以同时处理两个数据库的代码,那么您应该查看基类的属性QuotePrefix和QuoteSuffix中的这些信息,并尝试使用适当的字符正确设置查询的格式

使用sql server与


请你把问题中查询的格式整理一下好吗?很难说它到底是什么。总之,我的表名是user。我想用c写内联select语句查询。但它给了我sql sytax的错误,因为我用双引号写表名user,而user是sql中的保留关键字。那么我现在如何用c写查询呢???是的,当然,我想在MYSQL和MSSQL下运行这个查询,我如何用c编写,使它在这两种环境下都能运行,你能给我提供示例代码吗?这是一个非常大的问题。基本上,您应该使用基本接口,而不是最终的类IDbConnection、IDbCommand等,然后您可以将尽可能多的命令查询放在SQL和MySQL同名的存储过程中,或者使用两个不同的类来保存两个数据库的命令文本,并选择您正在使用的一个。为了更好地维护,我更喜欢后者,但它是可以接受的。幸运的是,传递参数的语法是sameOk,你更喜欢我使用更晚的技术,但实际上它不是固定的,它将使用mysql或mssql。因此:你能给我提供示例链接或一些帮助吗:user是一个关键字,你需要[user]@ColmPrunty。
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");