DOBON.NETプログラミング道掲示板

■35088 / 親階層)  CommandBuilderによって作られるCommandTextの内容
□投稿者/ Wan 付き人(66回)-(2022/06/28(Tue) 12:10:57)
  • アイコン環境/言語:[VisualBasic2019 Windows10 Basic Framework4.7.2] 
    分類:[.NET] 

    VisualStudio2019で、データベースの使用を勉強しています。
    Accessに接続して、OleDbCommandBuilderを実行したところ、コメントのようなCommandTextを取得することができました。
    UPDATE文、DELETE文のCommandTextの中の(? = 1 AND 苗字 IS NULL)の意味を教えて頂けませんか?
    「苗字 IS NULL」は、レコードの苗字列の値がDbNullの場合はTrueを返すという事は理解していますが、「? = 1」の意味が解りません。
    
    詳しい方、宜しくお願い致します。
    
    (Accessのテーブル構成)
    インスタンス名	Access2010
    データベース名	データベース勉強用DB
    論理テーブル名	Test
    物理テーブル名	INSERT文.accdb
    
    列定義
    No	論理名	物理名	データ型	Null許容	主キー
    1	ID	ID	長整数(8,0)	No	    Yes
    2	苗字	苗字	テキスト型(10)	No	
    3	名前	名前	テキスト型(10)	No	
    4	年齢	年齢	十進数(18)	No	
    
    Dim oledb As String = "Microsoft.ACE.OLEDB.16.0;"
    Dim acfile As String = "D:\データベース勉強用DB\INSERT文.accdb"
    Dim Cn As New OleDb.OleDbConnection($"Provider={oledb} Data Source={acfile}")
    Dim Da As New OleDbDataAdapter("SELECT * FROM 既存テーブル", Cn)
    Dim Ds As New DataSet
    Da.Fill(Ds, "Test")
    Dim builder As OleDbCommandBuilder = New OleDbCommandBuilder(Da)
    Dim INS_Cmd = builder.GetInsertCommand()
    Dim UPD_Cmd = builder.GetUpdateCommand()
    Dim DEL_Cmd = builder.GetDeleteCommand
    
    以下のCommandTextが設定されます。
    'INS_ Cmd.CommandText : INSERT INTO 既存テーブル (苗字, 名前, 年齢) VALUES (?, ?, ?)
    
    'UPD_ Cmd.CommandText :UPDATE 既存テーブル SET 苗字 = ?, 名前 = ?, 年齢 = ? 
    WHERE ((ID = ?) AND 
    ((? = 1 AND 苗字 IS NULL) OR (苗字 = ?)) AND 
    ((? = 1 AND 名前 IS NULL) OR (名前 = ?)) AND 
    ((? = 1 AND 年齢 IS NULL) OR (年齢 = ?)))
    
    ' DEL_Cmd.CommandText:DELETE FROM 既存テーブル 
    WHERE ((ID = ?) AND 
    ((? = 1 AND 苗字 IS NULL) OR (苗字 = ?)) AND 
    ((? = 1 AND 名前 IS NULL) OR (名前 = ?)) AND 
    ((? = 1 AND 年齢 IS NULL) OR (年齢 = ?)))
    
    

マルチポストを報告
違反を報告
削除キー/

前の記事(元になった記事) 次の記事(この記事の返信)
親記事 →Re[1]: CommandBuilderによって作られるCommandTextの内容 /魔界の仮面弁士
→Re[1]: CommandBuilderによって作られるCommandTextの内容 /魔界の仮面弁士
 
上記関連ツリー

Nomalアイコン CommandBuilderによって作られるCommandTextの内容 / Wan (22/06/28(Tue) 12:10) #35088 ←Now
Nomalアイコン Re[1]: CommandBuilderによって作られるCommandTextの内容 / 魔界の仮面弁士 (22/06/28(Tue) 14:16) #35089
Nomalアイコン Re[1]: CommandBuilderによって作られるCommandTextの内容 / 魔界の仮面弁士 (22/06/28(Tue) 20:51) #35091
  ├Nomalアイコン Re[2]: CommandBuilderによって作られるCommandTextの内容 / Wan (22/06/28(Tue) 20:14) #35090
  └Nomalアイコン Re[2]: CommandBuilderによって作られるCommandTextの内容 / 魔界の仮面弁士 (22/06/28(Tue) 21:11) #35092
    └Nomalアイコン Re[3]: CommandBuilderによって作られるCommandTextの内容 / Wan (22/07/07(Thu) 09:46) #35097 解決み!

All 上記ツリーを一括表示 / 上記ツリーをトピック表示
 
上記の記事へ返信

Mode/  Pass/


- Child Tree -