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.Date Time
8.Development
9.Event
10.File Directory
11.Generics
12.GUI
13.Internationalization I18N
14.Language Basics
15.LINQ
16.Network Remote
17.Reflection
18.Security
19.Thread
20.Windows Presentation Foundation
21.Windows System
22.XML
23.XML LINQ
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
java2s.com  | Contact Us | Privacy Policy
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.