c#和MS Access 2010区分大小写的SELECT

本文关键字:大小写 SELECT 2010区 MS Access | 更新日期: 2023-09-27 18:18:58

我对Access数据库的select语句有一个小问题。我想在c#/中执行此操作。NET项目:

var dataAdapter = new OdbcDataAdapter("SELECT * FROM COMPONENT WHERE TAGNAME = '" + tagName + "'");
例如:

我有一个tagName等于"TEST",另一个等于"TEST"。但是,现在我检索大写和小写的TagNames。我想只检索小写大写值..

我该怎么做呢?有没有解决办法,比如夏尔。IsUpper in Access ?

提前谢谢,我希望我说得很清楚。

Ars_n

c#和MS Access 2010区分大小写的SELECT

试试这个,它可能对你有帮助

var dataAdapter = new OdbcDataAdapter("SELECT * FROM COMPONENT WHERE TAGNAME COLLATE Latin1_General_CS_AS= '" + tagName + "'"");

要从Access数据库中执行区分大小写的SELECT操作,您需要使用StrComp()函数,这里有文档说明。

在您的例子中,您的代码应该看起来像这样:
int vbBinaryCompare = 0;
var cmd = new OdbcCommand();
cmd.Connection = con;  // con is an open OdbcConnection
cmd.CommandType = System.Data.CommandType.Text;
cmd.CommandText = 
        "SELECT * FROM COMPONENT " +
        "WHERE StrComp([TAGNAME], ?, ?) = 0";
cmd.Parameters.AddWithValue("?", tagName);
cmd.Parameters.AddWithValue("?", vbBinaryCompare);
var dataAdapter = new OdbcDataAdapter(cmd);