jgi*_*ich -2 c# sql sql-server sql-server-2005
我写了这个小函数来对SQL Server 2005数据库进行查询:
public DataSet Query(string query, Dictionary<string, string> parameters)
{
DataSet result = new DataSet();
using (SqlDataAdapter adapter = new SqlDataAdapter(query, sqlConnection))
{
adapter.SelectCommand.CommandType = CommandType.Text;
adapter.SelectCommand.CommandText = query;
foreach (KeyValuePair<string, string> pair in parameters)
{
adapter.SelectCommand.Parameters.Add(pair.Key, SqlDbType.Text).Value = pair.Value;
}
adapter.Fill(result);
}
return result;
}
Run Code Online (Sandbox Code Playgroud)
当我这样称呼时:
Query("SELECT * FROM Database.Tab.le WHERE somecol LIKE '%1%'", new Dictionary<string, string>() { });
Run Code Online (Sandbox Code Playgroud)
我得到了很多结果.但我想要的是这样称呼它:
Query("SELECT * FROM Database.Tab.le WHERE somecol LIKE '@number'", new Dictionary<string, string>() { {"@number", "%1%"} });
Run Code Online (Sandbox Code Playgroud)
但是,这会返回零行.我想知道为什么以及如何解决它.
试试下面
Query("SELECT * FROM Database.Tab.le WHERE somecol LIKE @number", new Dictionary<string, string>() { {"@number", "%1%"} });
Run Code Online (Sandbox Code Playgroud)
(在sql中更改了'@number' @number并给出了参数as @number)
| 归档时间: |
|
| 查看次数: |
339 次 |
| 最近记录: |