如何获取参数化查询
本文关键字:参数 查询 获取 何获取 | 更新日期: 2023-09-27 18:28:27
我尝试在不执行的情况下获取参数化查询。
string query="SELECT * FROM Table1 WHERE [ID]=@id";
因此,我创建了SqlCommand:
int id=10;
SqlCommand cmd = new SqlCommand(query);
cmd.Parameters.AddWithValue("@id",id);
如何在不执行参数化查询的情况下获得参数化查询-只想获得字符串:
"SELECT * FROM Table1 WHERE ID=10"
编辑:我使用TFS 2012,我必须使用基于TFS的类来处理它:
Query qry1 = new Query(wis, query, null, false);
ICancelableAsyncResult car1 = qry1.BeginQuery();
WorkItemCollection items1 = qry1.EndQuery(car1);
因此,我喜欢在query类中设置一个参数化查询。
我想说——
参数化查询在数据库中执行SQL查询之前替换pamater,以确保它消除了SQL注入的可能性。因此,您无法直接获得FullSql命令。。但如果你只想登录或其他任何东西。。喜欢报告和所有。。使用以下代码段获取完整的正确命令。。
Logger.Verbose(cmd.CommandText.Replace("@id", id.ToString()));
更新
哦,所以你想在TFS query类中设置sql查询。。最好创建字符串连接查询,然后传递。。实际上,参数化查询并没有提供一种方法来获得准备好的SQL查询。使用字符串串联方式。。!这是解决这个问题的可行方法。。!!