使用SQLCOmmand在数据库中插入行。 SQL命令正在使用参数。
要在立即窗口调试时获取查询,请使用
?_cmd.CommandText
Result:
"UPDATE TABLE SET Smth=@Smth, Smth2=@Smth2 "
如何获取完整的查询,而不是@Smth和@Smth2将从参数中读取值?
答案 0 :(得分:1)
如果您有权访问SSMS,那么您可以使用SQL Server Profiler跟踪VB.NET应用程序在运行时发出的实际SQL命令。
请注意,运行SQL Server Profiler会在数据库服务器上产生性能开销,因此强烈建议不要在生产服务器或服务器上运行它,否则会影响其他服务器。
有关如何开始使用SQL Server Profiler的一些链接......
https://www.mssqltips.com/sqlservertutorial/272/profiler-and-server-side-traces/
http://blog.sqlauthority.com/2009/08/03/sql-server-introduction-sql-server-2008-profiler-complete/
答案 1 :(得分:0)
您可以编写辅助方法:
public static class Helper
{
public static string ToString(this DbParameterCollection params, string query)
{
return params.Cast<DbParameter>().Aggregate(query, (c, p) => c.Replace(p.ParameterName, p.Value.ToString()));
}
}
答案 2 :(得分:0)
尝试:
INSERT INTO TABLE SET Smth=@Smth, Smth2=@Smth2 WHERE <somecondition>
Select @Smth,@Smth2