- ベストアンサー
動的SQLでの有給休暇使用日の仕組み作成における問題と解決方法
- 動的SQLを使用して有給休暇の使用日を一つのフィールドにまとめる方法について検討しています。
- 動的SQLでパラメータに値を代入する際に生じる現象について調査しました。
- パラメータの代入後に動的SQLの結果が無くなる問題について検証しました。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
レガシーADOのように結果セットを複数受け取れない場合には、「○行更新されました」というメッセージ自体を1つの結果セットとして先に受け取ってしまうため、後続の結果セットが受け取れない可能性があります。 少なくとも、私の読解力では「動的SQLの結果が無くなってしまいます」はそのように読めたということです。 いずれにしても、質問者さんのようにMSのサポート体制が微妙な組み合わせ(Access ADP 2003 & SQL Server 2008でしたよね)で開発をしていて、不明な現象をどうしても追求したい場合、少なくともトラブルシューティングのための検証ステップが3つは足らないと思います。 ・クエリアナライザでの単体検証 ・Access 2003(MDB)でデータソースのプロバイダを「SQLOLEDB(SQL Server)」にした環境 ・Access 2003(MDB)でデータソースのプロバイダを「SQLNCLI10(SQL Native Client 10.0)」にした環境 今の方法では、SQL Serverが悪いのか、データプロバイダが悪いのか、組み合わせが悪いのか、切り分けできませんよね。
その他の回答 (1)
- jamshid6
- ベストアンサー率88% (591/669)
なんだかやっていることに関する記述がかなり端折られている感じで、読解力がいりますね。。 5回読んで考えましたが、現象1は内容が理解できません。 現象2はたぶん「SET NOCOUNT ON;を切ってないのでは?」
お礼
「SET NOCOUNT ON」を入れても結果は変わりませんでした。 「SET NOCOUNT ON」は行数を返さない為、効率が良くなると理解しましたが、 効率UP以外にどんなことが期待できるのでしょうか?
補足
すいません、端折りすぎですね、長くなると見にくいと思ったのですが、 これでは意味不明ですね・・・ 月曜日にきちんとしたストアドと画面のハードコピーを載せますので よろしくお願いします。 「SET NOCOUNT ON;を切ってないのでは?」は試してみます、ありがとうございました。
お礼
ありがとうございました、勉強になりました。