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

时间:2013-06-19 11:37:41

标签: c# .net sql select ms-access-2010

我对使用Access数据库的select语句有一点疑问。 我想在C#/ .NET项目中执行此操作:

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

例如:

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

我该怎么做?是否有一个解决方案,例如Access中的Char.IsUpper?

提前致谢,我希望我很清楚。

Ars_n

2 个答案:

答案 0 :(得分:0)

试试这个,它可以帮到你

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

答案 1 :(得分:0)

要从Access数据库执行区分大小写的SELECT,您需要使用StrComp()函数,记录为here

在您的情况下,您的代码应如下所示:

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);