- PR -

insert into ... select でパラメータが認識されない

1
投稿者投稿内容
ゆう
会議室デビュー日: 2008/09/22
投稿数: 4
投稿日時: 2008-10-06 22:34
VisualStudio 2005、.netframework 2.0を使用して、
データ作成のプログラムを作成しています。

データの更新にはDataSetを使用し
TableAdapter に以下のようなSQLを記述し、insertメソッドを追加しました。

insert into TEST_A(aaa,bbb) select @test,'1' from TEST_B

本来ならば、「insert(test)」のようなメソッドが追加されるはずですが、
「insert()」となってしまい、@testが認識されません。
普通に、以下のようなSQLを設定しinsertメソッドを作成すると、「insert(test)」と作成できます。
insert insert into TEST_A(aaa,bbb) values(@test,'1')

TableAdapterにはinsert into ... select のようなSQLは記述できないのでしょうか?

ひろれい
ぬし
会議室デビュー日: 2006/03/02
投稿数: 486
お住まい・勤務地: 万博開催地
投稿日時: 2008-10-07 10:57
引用:

ゆうさんの書き込み (2008-10-06 22:34) より:

VisualStudio 2005、.netframework 2.0を使用して、
データ作成のプログラムを作成しています。

データの更新にはDataSetを使用し
TableAdapter に以下のようなSQLを記述し、insertメソッドを追加しました。

insert into TEST_A(aaa,bbb) select @test,'1' from TEST_B

本来ならば、「insert(test)」のようなメソッドが追加されるはずですが、
「insert()」となってしまい、@testが認識されません。
普通に、以下のようなSQLを設定しinsertメソッドを作成すると、「insert(test)」と作成できます。
insert insert into TEST_A(aaa,bbb) values(@test,'1')

TableAdapterにはinsert into ... select のようなSQLは記述できないのでしょうか?


パラメータの使い方が基本的におかしいと思うのですが。

「select @test,'1' from TEST_B」で複数件ヒットしたらどうするんだろう・・・
rain
ぬし
会議室デビュー日: 2006/10/19
投稿数: 549
投稿日時: 2008-10-07 11:22
引用:

ゆうさんの書き込み (2008-10-06 22:34) より:

データの更新にはDataSetを使用し
TableAdapter に以下のようなSQLを記述し、insertメソッドを追加しました。

insert into TEST_A(aaa,bbb) select @test,'1' from TEST_B

本来ならば、「insert(test)」のようなメソッドが追加されるはずですが、
「insert()」となってしまい、@testが認識されません。


自動で認識されなくても、InsertCommand の Parameterプロパティをデザイナから編集することによって Insert() メソッドのパラメータを追加することは可能です。
※その後で CommandText を編集すると、消えてしまうので注意

引用:

ひろれいさんの書き込み (2008-10-07 10:57) より:

「select @test,'1' from TEST_B」で複数件ヒットしたらどうするんだろう・・・


TEST_B のレコード件数ぶん、INSERTされるでしょう。意味があるかどうかはわかりませんが。
1

スキルアップ/キャリアアップ(JOB@IT)