C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[4]: ExecuteNonQueryで使用するパラメータについて


(過去ログ 30 を表示中)

[トピック内 6 記事 (1 - 6 表示)]  << 0 >>

■14289 / inTopicNo.1)  ExecuteNonQueryで使用するパラメータについて
  
□投稿者/ メグ (1回)-(2008/02/14(Thu) 18:38:24)

分類:[VB.NET/VB2005] 

ExecuteNonQueryを使用してDELETE作業を行いたいのですが
CommandText="DELETE FROM @param0"
削除するテーブルをパラメータとして使用したいのです。
@param0に"テーブル名"を設定してExecuteNonQueryを実行すると
「テーブル変数 "@param0" を宣言してください。」とエラーになります。
解決方法を教えて下さい。
宜しくお願いします。
引用返信 編集キー/
■14290 / inTopicNo.2)  Re[1]: ExecuteNonQueryで使用するパラメータについて
□投稿者/ myugaru (2回)-(2008/02/14(Thu) 18:43:18)
myugaru さんの Web サイト
No14289 (メグ さん) に返信
こんにちは。
私はC#使いなので範囲外なのですが、メグさんが日本語でいくら「設定した」と書かれていたとしても
そのエラーメッセージはあながち嘘っぱちではなくてVBさんにとっては、やっぱり設定されてないって意味だと思いますよ。
やはりここは実コードを示して相談されるほうがよいと思います。

引用返信 編集キー/
■14291 / inTopicNo.3)  Re[1]: ExecuteNonQueryで使用するパラメータについて
□投稿者/ 魔界の仮面弁士 (622回)-(2008/02/14(Thu) 18:55:21)
No14289 (メグ さん) に返信
> ExecuteNonQueryを使用してDELETE作業を行いたいのですが
> CommandText="DELETE FROM @param0"
全角空白「 」では無く、「 」にする必要があるのではないでしょうか。

> 「テーブル変数 "@param0" を宣言してください。」とエラーになります。
対象データベースは何ですか?

テーブル名を変数にできる処理系は、さほど多く無かったはず…。
(オプティマイザが、クエリ解析時に適切なインデックスを探しにくいため)
その場合はパラメータ化せず、動的に SQL 文を作ってやる必要があるかと。

引用返信 編集キー/
■14293 / inTopicNo.4)  Re[2]: ExecuteNonQueryで使用するパラメータについて
□投稿者/ メグ (4回)-(2008/02/14(Thu) 19:26:29)
myugaruさんの仰る通りです。
自分しか実コードを知らないので載せるのが当然ですよね。
失礼しました。

cmd.CommandText = "DELETE FROM @param0"
cmd.CommandType = System.Data.CommandType.Text
cmd.Parameters.Add(CreateParameter("Param0", "テーブル名"))
cmd.ExecuteNonQuery()

ConnectionStringは設定済みです

魔界の仮面弁士さん
全角空白は投稿時、間違えて入れてしまいました。実コードでは半角空白となっております。
データベースはSQL SERVER 2005です。

宜しくお願いします。
引用返信 編集キー/
■14295 / inTopicNo.5)  Re[3]: ExecuteNonQueryで使用するパラメータについて
□投稿者/ やじゅ (160回)-(2008/02/14(Thu) 20:45:45)
No14293 (メグ さん) に返信

> データベースはSQL SERVER 2005です。
>

テーブル名を変数に出来ないからでないですかね。
cmd.CommandText = "DELETE FROM " & "テーブル名"
とするしかない。
引用返信 編集キー/
■14297 / inTopicNo.6)  Re[4]: ExecuteNonQueryで使用するパラメータについて
□投稿者/ メグ (5回)-(2008/02/14(Thu) 21:01:01)
やじゅさんへ
やはり難しいですか・・・。
諦めようかと思います。

myugaruさん、魔界の仮面弁士さん、やじゅさん
ありがとうございました。
解決済み
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -