DataTableに主キーを追加するサンプル

DataTableに主キーを追加するサンプル

 

このサンプルは、得意先テーブルのDataTableを作成して主キーを追加します。DataTableに主キーを追加すると、Rows.Find()メソッドを使用して主キーでレコードを検索することができます。

 

このサンプルでは、以下のノウハウを習得することができます。

 

  DataTableを作成する方法

  DataTableにカラム(フィールド)を追加する方法

  DataTableに主キーを追加する方法

 

サンプルのPage_Load()イベントでは、得意先テーブルのDataTableを作成して主キーを追加します。行8では、DataTableのインスタンスを生成しています。引数には、テーブル名を指定しています。行10-12では、DataTableColumnsコレクションのAdd()メソッドでCustomerIDのフィールドを追加しています。Add()メソッドの引数には、フィールド名とデータ型を指定します。行13-18では、CompanyNameContactNamePhoneのフィールドを追加しています。

 

19では、DataTablePrimaryKeyプロパティにCustomerIDを設定しています。これでCustomerIDDataTableの主キーになります。主キーのカラムのUniqueプロパティには、Trueを設定する必要があります。それから空値の許可はできませんので、AllowDBNullプロパティにはFalseを設定します。行21-22では、Response.Write()メソッドでDataTablePrimaryKeyプロパティを表示しています。

 

  7: Sub Page_Load()
  8:   Dim dt As New DataTable("Customers")
  9:   Dim dc As DataColumn
 10:   dc = dt.Columns.Add("CustomerID", GetType(Integer))
 11:   dc.AllowDBNull = False
 12:   dc.Unique = True
 13:   dc = dt.Columns.Add("CompanyName", GetType(String))
 14:   dc.MaxLength = 40
 15:   dc = dt.Columns.Add("ContactName", GetType(String))
 16:   dc.MaxLength = 30
 17:   dc = dt.Columns.Add("Phone", GetType(String))
 18:   dc.MaxLength = 24
 19:   dt.PrimaryKey = New DataColumn() {dt.Columns("CustomerID")}
 20:   Response.Write("<h2>" & dt.TableName & "</h2>")
 21:   Response.Write(String.Format("<b>PrimaryKey</b>: {0}<br>", _
 22:    dt.PrimaryKey))
 23: End Sub