2016-09-17 5 views
0

SQLCOmmを使用してデータベースに行を挿入する。 SQLコマンドはパラメータを使用しています。パラメータでSQLCommandからクエリを完了

私は私の代わりに、@SmthとSmth2 @は、パラメータから読み取った値を持つことになり、完全なクエリを取得する方法

?_cmd.CommandText 
Result: 
    "UPDATE TABLE SET [email protected], [email protected] " 

を使用する即時ウィンドウでデバッグ中のクエリを取得するには?

+0

記録 'SET'を挿入することがまず第一には必要ありません。 'テーブルに挿入(col1、col2)値(@ smth、@ smth2) ' –

答えて

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())); 
    } 
} 
+0

しかし、私は完全なクエリを持っていません。そのように私は各パラメータ値を一つずつ見ることができます。完全なクエリをコピーしてSQLのMSに貼り付けたい –

+0

その後、一時的な文字列変数にクエリをまとめますが、これは回避策です。 – C1sc0

+0

@AnelHodžićあなたは、クエリのsql msにコピー&ペーストしたいですか? – Sami

0

試してください:あなたはSSMSへのアクセス権を持っている場合は

INSERT INTO TABLE SET [email protected], [email protected] WHERE <somecondition> 
Select @Smth,@Smth2 
+0

これはあなたが必要とするものですか? – Sami

1

、その後、あなたはによって発行されている実際のSQLコマンドをトレースするために、SQL Serverプロファイラを使用することができますあなたのVB.NETアプリケーションを実行するとき。

SQL Server Profilerを実行すると、データベースサーバーにパフォーマンスのオーバーヘッドが発生するため、プロダクションサーバーまたは他のサーバーに影響するサーバーで実行することを強く推奨します。

SQL Serverプロファイラの使用を開始する方法についていくつかのリンク...

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/

+0

Profiler/SQL Traceは、SQL Server 2012以降の拡張イベントのために非推奨です。 http://stackoverflow.com/questions/16108586/sql-server-profiler-deprecation-replacement –

関連する問題