我有以下代码:
string cmdText="select * from [TestTable] where [TestColumn]=@testparam";
var cmd = new SqlCommand(cmdText);
cmd.Parameters.AddWithValue("@testparam", "hello");
有没有办法让sql语句被发送到数据库引擎?我正在使用SAP B1 DI API,它有一个Recordset对象,它以sql字符串作为参数。我可以使用转义值参数来防止sql注入。另外,如果可以使用其他外部库,或者我需要手动转义参数值,请告诉我。
答案 0 :(得分:1)
如果您使用的是SQL Server,我认为SQL Server Profiler是您的解决方案。
使用此工具,您可以收听可由C#代码调用的每个查询和操作。通过这种方式,您将能够了解哪些语句被发送到RDBMS引擎。