0
我有下面的代碼:的OdbcCommand與參數不返回任何
public static List<T> ExecuteQuery<T>(string qry, Dictionary<string, object> parameters = null)
{
using (var connection = new OdbcConnection(ConnectionString))
{
connection.Open();
var command = new OdbcCommand(qry, connection);
if (parameters != null)
{
foreach (var parameter in parameters)
{
command.Parameters.AddWithValue(parameter.Key, parameter.Value);
}
}
using (var reader = command.ExecuteReader())
{
while (reader.Read())
{
// ...
}
}
}
}
當我執行類似:
ExecuteQuery<MyClass>("SELECT * FROM MYTABLE WHERE ID = 1");
它返回的所有正確的數據。但是當我發送這個:
ExecuteQuery<MyClass>(
"SELECT * FROM MYTABLE WHERE ID = @Id",
new Dictionary<string, object> { { "@Id", 1 } });
不會返回任何東西。我已經嘗試過使用command.Parameters.Add,但它的歷史相同。
那麼,我的錯誤在哪裏?
感謝大家。
謝謝!!有用!!! – DannSaHa
我喜歡你關於OdbcType的建議,但是我的數據庫提供者可能會在任何時候改變,所以這意味着我需要使用最獨立的方式 – DannSaHa