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

■34051 / 1階層)  SQLServerテーブル内容をDataGridViewに表示するコードについて
□投稿者/ 魔界の仮面弁士 大御所(1175回)-(2018/11/30(Fri) 11:40:57)
  • アイコン
    No34049に返信(けいさんの記事)
    > Aはエラーになりますが、
    
    それは…当然そうなるでしょうね。
    
    Fill メソッドの引数が ByRef で無いことからも推察できますが、
    何某DataAdapter.Fill(DataTable) メソッドの引数に
    Nothing を渡すことはできない仕様、ということでしょう。
    
    
    DataAdapter.Fill は、DataTable という器にデータを詰め込ませる操作です。
    謂わば、空のカップを差し出して「ここに珈琲を注いでください」と依頼するイメージ。
    
    カップを渡さずに「ここに珈琲を注いでください」と依頼したところで、
    相手からは『どこに?』と言う返事が返されてしまうことでしょう。
    
    仮に、珈琲を注ぐための新しい紙カップも相手が用意してくれる仕様なら、
    その器となる DataTable は出力引数(ByRef) となっているか、もしくは
    メソッドの戻り値(Sub ではなく Function)となるよう設計されていたはず。
    
    
    > どのパターンを使用しても問題ないでしょうか。
    見た感じ、Using している様子も無いですし
    SqlConnection を閉じ忘れていたりはしませんか?
    
    
    で。運用上は B〜D のいずれでも良いですし、
    簡易的なものであれば B で済ませることもありますが、
    個人的には DataSet 付の C〜D がお奨めです。
    必要に応じて EnforceConstraints のオン/オフなどもできるので。
    
    
    また、DataSet 付きの場合には、
    > DataGridView1.DataSource = dt
    というバインド方法のほかに、
     DataGridView1.DataSource = ds
     DataGridView1.DataMember = dt.TableName
    ということもできます。
    
    さらに言えば、BindingSource を併用するとベターかと。
    
    
    
    > VB2015、Windows10、.NETFramework4.6で開発しています。
    
    .NET Framework 4.6 を搭載している Windows 10 は、
    初期版(RTM)の v1507 だけではありませんか?
    
    v1507 は既にサポート ライフサイクルが終了しているはずですが…。
    v1703 以降の Win10 には .NET Framework 4.6.x をインストールできません。
    
    
    .NET Framework 4.x バージョンは、インプレース更新であるため、
    PC 上にインストールできるバージョンは 1 つだけとなっています。
    
    Pro と Enterprise/Education などといったエディションの違いによる
    サービス終了日の違い(LTSB / LTSC 版など)や
    サービスチャネルによる公開日の差異はありますが、一般的な環境では
    Win10 のバージョンが v1709 (Fall Creators Update) 以降になっているはずで、
    この場合、インストール可能な .NET Framework は 4.7.1 以降となります。
    (ただし .NET Framework 3.5 SP1 は併存可能)
    
    
    以下、当方の認識している分を表にまとめてみました。
    
    Win10  リリース日  サポート期限  利用可能な .NET Framework 4.x バージョン
    v1809  2018/11/13  ○2020/05/12  4.7.2
    v1803  2018/04/30  ○2019/11/12  4.7.2
    v1709  2017/10/17  ○2019/04/09  4.7.1 / 4.7.2
    v1703  2017/04/05  ×2018/10/09  4.7 / 4.7.1 / 4.7.2
    v1607  2016/08/02  ×2018/04/10  4.6.2 / 4.7 / 4.7.1 / 4.7.2
    v1511  2015/11/12  ×2017/10/10  4.6.1 / 4.6.2
    v1507  2015/07/29  ×2017/05/09  4.6 / 4.6.1 / 4.6.2

違反を報告
削除キー/

前の記事(元になった記事) 次の記事(この記事の返信)
←SQLServerテーブル内容をDataGridViewに表示するコードについて /けい →Re[2]: SQLServerテーブル内容をDataGridViewに表示するコードについて /けい
→Re[2]: SQLServerテーブル内容をDataGridViewに表示するコードについて /けい
 
上記関連ツリー

Nomalアイコン SQLServerテーブル内容をDataGridViewに表示するコードについて / けい (18/11/30(Fri) 09:49) #34049
Nomalアイコン SQLServerテーブル内容をDataGridViewに表示するコードについて / 魔界の仮面弁士 (18/11/30(Fri) 11:40) #34051 ←Now
  ├Nomalアイコン Re[2]: SQLServerテーブル内容をDataGridViewに表示するコードについて / けい (18/11/30(Fri) 12:36) #34052
  │└Nomalアイコン Re[3]: SQLServerテーブル内容をDataGridViewに表示するコードについて / 魔界の仮面弁士 (18/11/30(Fri) 17:22) #34056
  │  └Nomalアイコン Re[4]: SQLServerテーブル内容をDataGridViewに表示するコードについて / けい (18/11/30(Fri) 19:03) #34057 解決み!
  └Nomalアイコン Re[2]: SQLServerテーブル内容をDataGridViewに表示するコードについて / けい (18/11/30(Fri) 12:57) #34053
    └Nomalアイコン Re[3]: SQLServerテーブル内容をDataGridViewに表示するコードについて / 魔界の仮面弁士 (18/11/30(Fri) 16:47) #34054

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

Mode/  Pass/


- Child Tree -