Create primary key DataColumn : DataColumn « Database ADO.net « VB.Net

Home
VB.Net
1.2D
2.Application
3.Class
4.Data Structure
5.Data Types
6.Database ADO.net
7.Development
8.Event
9.File Directory
10.Generics
11.GUI
12.Language Basics
13.LINQ
14.Network Remote
15.Security
16.Thread
17.Windows Presentation Foundation
18.Windows System
19.XML
20.XML LINQ
VB.Net Tutorial
VB.Net by API
VB.Net » Database ADO.net » DataColumnScreenshots 
Create primary key DataColumn
  

Imports System.Data
Imports System.Windows.Forms

Public Class Form1
    Inherits System.Windows.Forms.Form

    Public Shared Sub Main()
        Application.Run(New Form1())
    End Sub
    Public Sub New()
        MyBase.New()
        Me.DataGrid1 = New System.Windows.Forms.DataGrid()
        CType(Me.DataGrid1, System.ComponentModel.ISupportInitialize).BeginInit()
        Me.SuspendLayout()
        '
        Me.DataGrid1.DataMember = ""
        Me.DataGrid1.HeaderForeColor = System.Drawing.SystemColors.ControlText
        Me.DataGrid1.Location = New System.Drawing.Point(08)
        Me.DataGrid1.Size = New System.Drawing.Size(432256)
        Me.DataGrid1.TabIndex = 0
        '
        Me.AutoScaleBaseSize = New System.Drawing.Size(513)
        Me.ClientSize = New System.Drawing.Size(440273)
        Me.Controls.AddRange(New System.Windows.Forms.Control() {Me.DataGrid1})
        CType(Me.DataGrid1, System.ComponentModel.ISupportInitialize).EndInit()
        Me.ResumeLayout(False)

    End Sub

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgsHandles MyBase.Load
        CreateCustomersTable()
    End Sub

    Private Sub dcConstructorsTest()
        Dim custTable As DataTable = New DataTable("Customers")
        Dim dtSet As DataSet = New DataSet()

        Dim myDataType As System.Type
        myDataType = System.Type.GetType("System.Int32")
        Dim priceCol As DataColumn = New DataColumn("Price", myDataType)
        priceCol.Caption = "Price"
        custTable.Columns.Add(priceCol)

        Dim qtCol As DataColumn = New DataColumn()
        qtCol.ColumnName = "Quantity"
        qtCol.DataType = System.Type.GetType("System.Int32")
        qtCol.Caption = "Quantity"
        custTable.Columns.Add(qtCol)

        Dim strExpr As String = "Price * Quantity"

        Dim totCol As DataColumn = New DataColumn("Total", myDataType, strExpr, MappingType.Attribute)
        totCol.Caption = "Total"
        custTable.Columns.Add(totCol)
        dtSet.Tables.Add(custTable)
        DataGrid1.SetDataBinding(dtSet, "Customers")
    End Sub

    Private Sub CreateCustTable()
        Dim custTable As DataTable = New DataTable("Customers")
        Dim IdCol As DataColumn = New DataColumn()
        IdCol.ColumnName = "ID"
        IdCol.DataType = Type.GetType("System.Int32")
        IdCol.ReadOnly = True
        IdCol.AllowDBNull = False
        IdCol.Unique = True
        IdCol.AutoIncrement = True
        IdCol.AutoIncrementSeed = 1
        IdCol.AutoIncrementStep = 1
        custTable.Columns.Add(IdCol)

        Dim nameCol As DataColumn = New DataColumn()
        nameCol.ColumnName = "Name"
        nameCol.DataType = Type.GetType("System.String")
        custTable.Columns.Add(nameCol)

        Dim addCol As DataColumn = New DataColumn()
        addCol.ColumnName = "Address"
        addCol.DataType = Type.GetType("System.String")
        custTable.Columns.Add(addCol)

        Dim dobCol As DataColumn = New DataColumn()
        dobCol.ColumnName = "DOB"
        dobCol.DataType = Type.GetType("System.DateTime")
        custTable.Columns.Add(dobCol)

        Dim fullTimeCol As DataColumn = New DataColumn()
        fullTimeCol.ColumnName = "VAR"
        fullTimeCol.DataType = Type.GetType("System.Boolean")
        custTable.Columns.Add(fullTimeCol)

        Dim PrimaryKeyColumns() As DataColumn = New DataColumn(1) {}
        PrimaryKeyColumns(0= custTable.Columns("ID")
        custTable.PrimaryKey = PrimaryKeyColumns
        Dim ds As DataSet = New DataSet("Customers")
        ds.Tables.Add(custTable)
        dataGrid1.DataSource = ds.DefaultViewManager
    End Sub

    Private Sub CreateCustomersTable()
        Dim custTable As System.Data.DataTable = New DataTable("Customers")
        Dim dtColumn As DataColumn

        dtColumn = New DataColumn()
        dtColumn.DataType = System.Type.GetType("System.Int32")
        dtColumn.ColumnName = "id"
        dtColumn.Caption = "Cust ID"
        dtColumn.ReadOnly = True
        dtColumn.Unique = True

        custTable.Columns.Add(dtColumn)

        dtColumn = New DataColumn()
        dtColumn.DataType = System.Type.GetType("System.String")
        dtColumn.ColumnName = "Name"
        dtColumn.Caption = "Cust Name"
        dtColumn.AutoIncrement = False
        dtColumn.ReadOnly = False
        dtColumn.Unique = False

        custTable.Columns.Add(dtColumn)
        dtColumn = New DataColumn()
        dtColumn.DataType = System.Type.GetType("System.String")
        dtColumn.ColumnName = "Address"
        dtColumn.Caption = "Address"
        dtColumn.ReadOnly = False
        dtColumn.Unique = False

        custTable.Columns.Add(dtColumn)

        Dim PrimaryKeyColumns() As DataColumn = New DataColumn(1) {}
        PrimaryKeyColumns(0= custTable.Columns("id")
        custTable.PrimaryKey = PrimaryKeyColumns

        Dim ds As DataSet = New DataSet("Customers")
        ds.Tables.Add(custTable)

        Dim row1 As DataRow = custTable.NewRow()
        row1("id"1001
        row1("Address""CA"
        row1("Name""A"
        custTable.Rows.Add(row1)
        Dim row2 As DataRow = custTable.NewRow()
        row2("id"1002
        row2("Name""R"
        row2("Address""CA"
        custTable.Rows.Add(row2)
        Dim row3 As DataRow = custTable.NewRow()
        row3("id"1003
        row3("Name""M "
        row3("Address""CA"
        custTable.Rows.Add(row3)
        MessageBox.Show(row2.RowState.ToString())
        row2.Delete()
        MessageBox.Show(row3.RowState.ToString())

        DataGrid1.DataSource = ds.DefaultViewManager
    End Sub

    Friend WithEvents DataGrid1 As System.Windows.Forms.DataGrid

End Class

   
    
  
Related examples in the same category
1.DataColumn Collection demo
www.java2java.com | Contact Us
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.