2013-03-22 49 views
0

參數參數化查詢我有以下代碼:與在選擇回報無效數據

string connectionString = 
    "Provider=Microsoft.JET.OLEDB.4.0;" + 
    "data source=" + processProgramPath + ";"; 

using (OleDbConnection connection = new OleDbConnection(connectionString)) 
{ 
    connection.Open(); 
    using (OleDbCommand command = new OleDbCommand(
     "SELECT @Value " + 
     "FROM BONDPARAMETERS " + 
     "WHERE BONDPARAMETERS.SetName = @SetName", connection)) 
    { 
     command.Parameters.AddWithValue("@Value", value); 
     command.Parameters.AddWithValue("@SetName", setName);    

     var result = command.ExecuteScalar(); 
     return result.ToString(); 
    } 
} 

我所希望得到的是760的結果。不過,我正在獲得StartForce專欄的標題。

值= 「StartForce」 的setName = 「450(18)-F-OE」

如果我改變使用這樣:

using (OleDbCommand command = new OleDbCommand("SELECT "+value+" " + 

它的工作原理。是什麼賦予了?

在此先感謝

回答

1

你不能動態地構建SQL與這樣的參數。看到這個問題:Using C# SQL Parameterization on Column Names

+0

那麼我的工作將是一個有效的方法來做到這一點呢?或者,我覺得這是俗氣嗎? – 2013-03-22 23:19:42

+0

@SeanP。 。 。你的解決方法是一個很好的解決方案。 – 2013-03-23 00:10:37