我对使用Access数据库的select语句有一点疑问。 我想在C#/ .NET项目中执行此操作:
var dataAdapter = new OdbcDataAdapter("SELECT * FROM COMPONENT WHERE TAGNAME = '" + tagName + "'");
例如:
我有一个tagName等于“TEST”,另一个带有“Test”。但是,现在我检索大写和小写TagNames。 我想只检索小写的 OR 大写值..
我该怎么做?是否有一个解决方案,例如Access中的Char.IsUpper?
提前致谢,我希望我很清楚。
Ars_n
答案 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);