Date: Thu, 22 Mar 2001 19:18:04 +0900
From: "uneme" <who@sub.example.jp>
ローカル一時テーブルについてです。
過去のメーリングリストにも いくつかローカル一時テーブルについての質問が出て
参考にしましたが、
ローカル一時テーブルをINSERTが出来ないので困っています。
例として、VBマガジン2000年4月号の堀川氏の「ローカル一時テーブル操作の例題」
を元にして、
フォーム上に1つテキストボックス:T_ID2 を作ります。
ローカル一時テーブルの作成vb
Private Sub 一時テーブル作成_Click()
Dim sql$
On Error GoTo err_proc
sql$ = "CREATE TABLE #MyTempTable ( " & vbCrLf & _
" ID INT PRIMARY KEY , " & vbCrLf & _
" DT VARCHAR(20) " & vbCrLf & _
") " & vbCrLf
cn.Execute sql$, , adCmdText
Exit Sub
err_proc:
cn_err
End Sub
このローカル一時テーブルにデータを入力し、
通常のテーブル(ローカル一時テーブルと同じデザインに列を1つ追加列名:ID2 、
データ型:INT したもの)にINSERTする。
VBで書いたストアド
Private Sub vb_Click()
On Error GoTo Err_vb_Click
Dim sql$
Dim strCtrl As Integer
strCtrl = Me.T_ID2
sql$ = "INSERT [MyTable] "
sql$ = sql$ & "SELECT ID ,'" & strCtrl & "',DT FROM [#MyTempTable]"
cn.Execute sql$, , adCmdText
Exit Sub
Err_vb_Click:
MsgBox Err.Description
End Sub
INSERT出来ますが、
ストアドプロシージャからの実行が出来ません。
(直接ダブルクリックでの実行は出来ます。パラメータ手入力で)
**** ストアドプロシージャ*****
Alter Procedure ストアドプロシージャ1
@id2 [INT]
AS
SET NOCOUNT ON
INSERT MyTable
SELECT ID,@id2,DT
FROM #MyTempTable
RETURN
****VBでの実行文****
Private Sub sp_Click()
On Error GoTo Err_sp_Click
Dim cmd As New ADODB.Command
Set cmd.ActiveConnection = cn
cmd.CommandType = adCmdStoredProc
cmd.CommandText = "ストアドプロシージャ1"
cmd.Parameters.Refresh
cmd.Parameters(1) = Me!T_ID2
cmd.Execute
MsgBox "sp"
Exit Sub
Err_sp_Click:
MsgBox Err.Description
End Sub
どうしてもわかりません。
アドバイスお願いします。
[MSDE/SQLServerに関して、今、どんなことにお困りですか?] |
よろしければお困りの内容を、電子メールで教えて下さい。 |
質問を電子メールで作成する
|
[ウィンドを閉じる][MSDE/SQLServer FAQ ][MSDE / MSDE2000 技術サポート情報一覧]
|