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

■35092 / 2階層)  CommandBuilderによって作られるCommandTextの内容
□投稿者/ 魔界の仮面弁士 大御所(1432回)-(2022/06/28(Tue) 21:11:34)
  • アイコン
    No35091に追記(魔界の仮面弁士の記事)
    > No35089 の機能は、SourceColumnNullMapping プロパティによって制御されています。
    
    おぉ。追加説明のコードを書いているうちに、
    ピンポイントでその点についての追加質問が投稿されていた…!
    
    
    SQL における「列名 = 値」という記述について考えてみます。
    
    SET などの『代入処理』の場合は、
    値が null/非null いずれでも、「列名 = 値」と書けます。
    
    しかし、WHERE などの『比較処理』の場合は、
    「列名 = NULL」では TRUE 判定されないため、
    「列名 = 非NULL値」と「列名 IS NULL」を使い分けねばなりません。
    そのための仕組みです。
    
    
    ついでなので、DELETE と INSERT のケースも載せておきます。
    
    DeleteCommand のパラメータ数=7
    p1      Original    F   Integer     ID
    p2      Original    T   Integer     苗字
    p3      Original    F   VarWChar    苗字
    p4      Original    T   Integer     名前
    p5      Original    F   VarWChar    名前
    p6      Original    T   Integer     年齢
    p7      Original    F   Numeric     年齢
    
    
    InsertCommand のパラメータ数=3
    p1  	Current 	F	VarWChar	苗字
    p2  	Current 	F	VarWChar	名前
    p3  	Current 	F	Numeric 	年齢
    
    
    DataTable 内のデータは、DataRowVersion によってバージョン管理されており、
    SELECT 直後の値(Original)と
    編集結果を考慮した現在値(Current)の 2 種類を持ちます。
    ※ DataRow の RowState プロパティも参照
    
    
    Original なパラメーターは、WHERE 句のために使われます。
    INSERT の場合は WHERE が無いので、Current のみです。
    
    逆に DELETE の場合は、現在値が存在しないため Current がなく
    Original だけになります。
    
    そして UPDATE の場合は、SET 句用の Current と
    WHERE 句用の Original の両方があるというわけです。

違反を報告
削除キー/

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

Nomalアイコン CommandBuilderによって作られるCommandTextの内容 / Wan (22/06/28(Tue) 12:10) #35088
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アイコン CommandBuilderによって作られるCommandTextの内容 / 魔界の仮面弁士 (22/06/28(Tue) 21:11) #35092 ←Now
    └Nomalアイコン Re[3]: CommandBuilderによって作られるCommandTextの内容 / Wan (22/07/07(Thu) 09:46) #35097 解決み!

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

Mode/  Pass/


- Child Tree -