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

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

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

Re[2]: insert文に条件を加える。


(過去ログ 100 を表示中)

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

■59744 / inTopicNo.1)  insert文に条件を加える。
  
□投稿者/ ある (19回)-(2011/06/06(Mon) 09:09:36)

分類:[.NET 全般] 

いつもお世話になっております。
環境はVB.net2008を使用しております。

表題通り、insert文にif文で条件を加える方法がわかりません。
もし〜の場合、○○に××を加えるという感じで作りたいのですが、記述方法がわかりません。

よろしければご教授ください。
引用返信 編集キー/
■59745 / inTopicNo.2)  Re[1]: insert文に条件を加える。
□投稿者/ shu (756回)-(2011/06/06(Mon) 09:25:57)
2011/06/06(Mon) 09:27:06 編集(投稿者)
こんな感じの事ですか?

Dim SQL as String
Dim Whr as String

SQL = "Insert ・・・"
SQL &= " Select ・・・"
SQL &= " From 〜"

Whr = ""
if 〜 then
    if Whr.Length>0 then Whr &= " and "
    Whr &= "○○ = ・・・"
End if

if 〜 then
    if Whr.Length>0 then Whr &= " and "
    Whr &= "×× = ・・・"
End if

if 〜 then
    if Whr.Length>0 then Whr &= " and "
    Whr &= "△△ = ・・・"
End if

if Whr.Length >0 then
    SQL &= " Where " & Whr
end if

引用返信 編集キー/
■59748 / inTopicNo.3)  Re[1]: insert文に条件を加える。
□投稿者/ 魔界の仮面弁士 (2195回)-(2011/06/06(Mon) 09:44:54)
No59744 (ある さん) に返信
> 表題通り、insert文にif文で条件を加える方法がわかりません。
> もし〜の場合、○○に××を加えるという感じで作りたいのですが、
もう少し具体的に書いていただいた方が、回答がつけやすいです。

「○○」というのが、VB 側の変数/コントロールなのか、それとも
データベース側の列名/式なのか分かりませんし、条件に合致しなかった場合に
INSERT を実行したくないのか、それとも ×× を加えずに INSERT したいのか等、
いろいろな解釈が出来てしまいますので。


> 記述方法がわかりません。

VB 側で SQL を構築する場合は、
 SQL = "INSERT INTO 表名 (列1, 列2, 列3)"
 SQL &= " SELECT 列1, 列2, ○○ "
 If 〜 Then
  SQL &= " + ×× "
 End If
 SQL &= " FROM TBL WHERE 列3 = 123 AND 列4 = 'XYZ'"
という感じで。


SQL 文の中に埋め込むなら、それが Jet の場合は
 INSERT INTO 表名 (列1, 列2, 列3)
 SELECT 列1, 列2, IIF(〜, ○○, ○○ + ××)
 FROM TBL WHERE 列3 = 123 AND 列4 = 'XYZ'
だし、SQL Server や Oracle の場合は、
 INSERT INTO 表名 (列1, 列2, 列3)
 SELECT 列1, 列2, CASE WHEN 〜 THEN ○○ ELSE ○○ + ×× END
 FROM TBL WHERE 列3 = 123 AND 列4 = 'XYZ'
という感じで。


> よろしければご教授ください。
http://www.tt.rim.or.jp/~rudyard/torii009.html
引用返信 編集キー/
■59838 / inTopicNo.4)  Re[2]: insert文に条件を加える。
□投稿者/ ある (23回)-(2011/06/08(Wed) 14:05:53)
こちらも解決致しました。
ありがとうございます。
解決済み
引用返信 編集キー/


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

このトピックに書きこむ

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

管理者用

- Child Tree -