2013-06-19 54 views
0

我對Access數據庫的select語句有一點疑問。 我想在C#/。NET項目執行此:C#和MS Access 2010區分大小寫SELECT

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

例如:

我必須等於 「TEST」,另一個爲 「測試」 標記名。但是,現在我可以檢索大寫和小寫TagNames。 我想只檢索小寫字母大寫字母值。

我該怎麼做?在Access中是否有解決方案,如Char.IsUpper?

在此先感謝,希望我很清楚。

Ars_n

回答

0

試試這個,它可以幫助你

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

做一個區分大小寫選擇您需要使用StrComp()功能的Access數據庫,記錄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);