0

Visual Studioのテーブルアダプターを使用して、SQLServer2005データベースのストアドプロシージャにクエリを実行しています。Webサイトアプリケーションを介して電話をかけると、何も返されません。SQL Server Managerを介して同じ呼び出しを行うと、期待されるデータが返されます。

アダプターのgetDataメソッドの呼び出しにブレークポイントを設定し、すべてのパラメーターとその値を調べて、サーバー管理からのクエリでそれらを照合して確認しました。次のクエリを送信しています。

getData(string, date, date, int, int?, int?, string, int?, string)

さらに遠く

getData('0000-rtg', '1/1/2007', '3/12/2008', 0, null, null, null, null, null)

nullVisual StudioがSQLサーバーにクエリを送信しようとする前に、'sを使用して何かを実行するかどうか疑問に思っていると思います。そうでない場合、どうすればこの問題を修正できますか?

編集:これらの値はすべて変数によって渡されます。私はそのブレークポイントでそれらの変数にあったものを入力しただけです。

4

3 に答える 3

1

SQL Profilerを使用して、SQLサーバーに送信されたSQLが実際にどのように表示されるかを確認します。これは私を何度も助けてくれました。

于 2008-12-03T14:51:50.313 に答える
1

日付は、SQL で引用符で囲む必要があります。そうしないと機能しません。

于 2008-12-03T14:34:25.340 に答える
0

Visual Studio は、クエリ パラメーターを使用すると面白い場合があります。各変数の長さと型が正しいことを確認してください。たとえば、クエリでいくつかの日付パラメーターを使用します。クエリを編集するたびに、Visual Studio は自動的に日付パラメーターを検出し、変数の長さを 7 に制限します。そのため、日付パラメーターを手動で 10 の長さに変更する必要があります。

于 2009-09-09T19:52:16.117 に答える