2011年7月18日月曜日

→→→まとめ①

1.データセットのテーブル数を取得
DataSetオブジェクト.Tables.Count
     Dim dSet As DataSet = New DataSet("~")
      Dim dTbl As DataTable
      dTbl = dSet.Tables.Add("ドリンク")
      Debug.writeLine("テーブル数:" & dSet.Tables.Count)
      dTbl = dSet.Tables.Add("デザート")
      Debug.WriteLine("テーブル数:" & dSet.Tables.Count)

2.データセットのテーブルを削除するには、Removeメソッド
     Dim dSet As DataSet = New DataSet("~")

      Dim dTbl As DataTable

      dTbl = dSet.Tables.Add("ドリンク")
      Debug.writeLine("テーブル数:" & dSet.Tables.Count)

      dSet.Tables.Remove("ドリンク")
      Debug.WriteLine("テーブル数:" & dSet.Tables.Count)

3.データセットのテーブル間にリレーションを設定
 DataSetオブジェクト.Relations.Add (リレーション名, 親フィールド, 子フィールド)
     Dim dSet As DataSet = New DataSet("~")
      Dim dTbl As DataTable

      dTbl = dSet.Tables.Add("ドリンク")
      dTbl.Columns.Add("ID", Type.GetType("System.Int32"))
      dTbl.Columns.Add("メニュー", Type.GetType("System.String"))
   
      dTbl = dSet.Tables.Add("売上")
      dTbl.Columns.Add("NO", Type.GetType("System.Int32"))
      dTbl.Columns.Add("個数", Type.GetType("System.String"))

      'リレーションを設定
      dSet.Relations.Add("メニュー別売上"
             ,  dSet.Tables("ドリンク").Columns("ID")
             ,  dSet.Tables("売上").Columns("NO"))

4.テーブルにフィルタを設定
   DataRowオブジェクトのSelectメソッドを使ってデータセットのテーブルにフィルタを
   設定した結果を得ることができる
   Selectメソッドの引数には、フィルタ基準となる条件式を
   「"フィールド名 > 100"」のように指定
   また、第2引数でフィールドの値に応じた並べ替えを指定
   並べ替えは昇順のときは「"フィールド名 ASC"」
          降順のときは「"フィールド名 DESC"」と指定できる

   Selectメソッドの戻り値はDataRowオブジェクトの配列

 Dim RetRows As DataRow()
 Dim dRow As DataRow
 Dim dCol As DataColumn
 Dim dSet As DataSet = New DataSet("~")
 Dim dAdp As OleDbDataAdapter
 Dim ocn As OleDbConnection = New OleDbConnection
 ocn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\***.mdb;Persist Security Info=False
 dAdp = New OleDbDataAdapter("SELECT * FROM 商品",ocn)
 dAdp.Fill( dSet , "t_商品" )
 RetRows = dSet.Tables("t_商品").Select("単価>=200", "単価 DESC")
 If RetRows.Length = 0 Then
        Debug.WriteLine("見つかりませんでした")
        Exit Sub
 End If
 For Each dRow In RetRows
     For Each dCol  In dRow.Table.Columns
            Debug.Write(ControlChars.Tab & dRow( dCol) )
     Next
     Debug.WriteLine("")
 Next

      


   

0 件のコメント:

コメントを投稿