VB.Net/Database ADO.net/Data Bind to TextBox — различия между версиями
Admin (обсуждение | вклад) м (1 версия) |
|
(нет различий)
|
Текущая версия на 12:44, 26 мая 2010
Imports System
Imports System.Data
Imports System.Windows.Forms
Imports System.Data.SqlClient
public class MainClass
Shared Sub Main()
Dim form1 As Form = New Form1
Application.Run(form1)
End Sub
End Class
Public Class Form1
Inherits System.Windows.Forms.Form
" Declare a binding manager field
Private bMgr As BindingManagerBase
#Region " Windows Form Designer generated code "
Public Sub New()
MyBase.New()
"This call is required by the Windows Form Designer.
InitializeComponent()
"Add any initialization after the InitializeComponent() call
End Sub
"Form overrides dispose to clean up the component list.
Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean)
If disposing Then
If Not (components Is Nothing) Then
components.Dispose()
End If
End If
MyBase.Dispose(disposing)
End Sub
"Required by the Windows Form Designer
Private components As System.ruponentModel.IContainer
"NOTE: The following procedure is required by the Windows Form Designer
"It can be modified using the Windows Form Designer.
"Do not modify it using the code editor.
Friend WithEvents TextBox1 As System.Windows.Forms.TextBox
Friend WithEvents TextBox2 As System.Windows.Forms.TextBox
Friend WithEvents buttonBack As System.Windows.Forms.Button
Friend WithEvents buttonNext As System.Windows.Forms.Button
Friend WithEvents DataSet1 As System.Data.DataSet
<System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()
Me.TextBox1 = New System.Windows.Forms.TextBox
Me.TextBox2 = New System.Windows.Forms.TextBox
Me.buttonBack = New System.Windows.Forms.Button
Me.buttonNext = New System.Windows.Forms.Button
Me.DataSet1 = New System.Data.DataSet
CType(Me.DataSet1, System.ruponentModel.ISupportInitialize).BeginInit()
Me.SuspendLayout()
"
"TextBox1
"
Me.TextBox1.Location = New System.Drawing.Point(8, 8)
Me.TextBox1.Name = "TextBox1"
Me.TextBox1.Size = New System.Drawing.Size(176, 20)
Me.TextBox1.TabIndex = 0
Me.TextBox1.Text = "TextBox1"
"
"TextBox2
"
Me.TextBox2.Location = New System.Drawing.Point(8, 40)
Me.TextBox2.Name = "TextBox2"
Me.TextBox2.Size = New System.Drawing.Size(176, 20)
Me.TextBox2.TabIndex = 1
Me.TextBox2.Text = "TextBox2"
"
"buttonBack
"
Me.buttonBack.Location = New System.Drawing.Point(8, 72)
Me.buttonBack.Name = "buttonBack"
Me.buttonBack.TabIndex = 2
Me.buttonBack.Text = "<< Back"
"
"buttonNext
"
Me.buttonNext.Location = New System.Drawing.Point(112, 72)
Me.buttonNext.Name = "buttonNext"
Me.buttonNext.TabIndex = 3
Me.buttonNext.Text = "Next >>"
"
"DataSet1
"
Me.DataSet1.DataSetName = "NewDataSet"
Me.DataSet1.Locale = New System.Globalization.CultureInfo("en-GB")
"
"Form1
"
Me.AutoScaleBaseSize = New System.Drawing.Size(5, 13)
Me.ClientSize = New System.Drawing.Size(200, 101)
Me.Controls.Add(Me.buttonNext)
Me.Controls.Add(Me.buttonBack)
Me.Controls.Add(Me.TextBox2)
Me.Controls.Add(Me.TextBox1)
Me.Name = "Form1"
Me.Text = "Form1"
CType(Me.DataSet1, System.ruponentModel.ISupportInitialize).EndInit()
Me.ResumeLayout(False)
End Sub
#End Region
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
"Create Connection object
Dim thisConnection As New SqlConnection _
("server=(local)\SQLEXPRESS;" & _
"integrated security=sspi;" & _
"database=MyDatabase")
" Sql Query
Dim sql As String = _
"SELECT * FROM Employee"
" Create Data Adapter
Dim da As New SqlDataAdapter(sql, thisConnection)
" Fill Dataset
da.Fill(DataSet1, "Employee")
" Bind to firstname column of the employees table
TextBox1.DataBindings.Add("text", DataSet1, "Employee.FirstName")
" Bind to lastname column of the employees table
TextBox2.DataBindings.Add("text", DataSet1, "Employee.LastName")
" Create the Binding Manager
bMgr = Me.BindingContext(DataSet1, "Employee")
End Sub
Private Sub buttonNext_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles buttonNext.Click
" Point to the next row and refresh the text box
bMgr.Position += 1
End Sub
Private Sub buttonBack_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles buttonBack.Click
" Point to the previous row and refresh the text box
bMgr.Position -= 1
End Sub
End Class
Data Binding: TextField
Imports System
Imports System.Data
Imports System.Data.OleDb
Imports System.Data.SqlClient
Imports System.Collections
Imports System.Windows.Forms
Imports System.Resources
Public Class MainClass
Shared Sub Main()
Dim form1 As Form = New Form1()
Application.Run(form1)
End Sub
End Class
Public Class Form1
"Form level variables
Private strConnectionString As String = _
"Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=Employee.mdb;"
Private objConnection As OleDbConnection
Private objCommand As OleDbCommand
Private objDataAdapter As OleDbDataAdapter
Private objDataTable As DataTable
Private objDataReader As OleDbDataReader
Private blnIsLoading As Boolean = True
Private Sub Form1_Load(ByVal sender As Object, _
ByVal e As System.EventArgs) Handles Me.Load
"Initialize the Connection object
objConnection = New OleDbConnection(strConnectionString)
"Initialize the Command object
objCommand = New OleDbCommand("SELECT ID, FirstName " & _
"FROM Employee", objConnection)
"Initialize the DataAdapter object and set the SelectCommand property
objDataAdapter = New OleDbDataAdapter
objDataAdapter.SelectCommand = objCommand
"Initialize the DataTable object
objDataTable = New DataTable
"Populate the DataTable
objDataAdapter.Fill(objDataTable)
"Bind the DataTable to the ComboBox
ComboBox1.DataSource = objDataTable
ComboBox1.DisplayMember = "FirstName"
ComboBox1.ValueMember = "ID"
"Turn off the loading flag
blnIsLoading = False
"Clean up
objDataAdapter.Dispose()
objDataAdapter = Nothing
objCommand.Dispose()
objCommand = Nothing
objConnection.Dispose()
objConnection = Nothing
End Sub
Private Sub ComboBox1_SelectedValueChanged(ByVal sender As Object, _
ByVal e As System.EventArgs) Handles ComboBox1.SelectedValueChanged
"Exit if the combo box is being loaded
If blnIsLoading Then
Exit Sub
End If
"Initialize the Connection object and open it
objConnection = New OleDbConnection(strConnectionString)
objConnection.Open()
"Initialize the Command object
objCommand = New OleDbCommand
"Set the objCommand object properties
objCommand.rumandText = "StoreProcedureForEmployee"
objCommand.rumandType = CommandType.StoredProcedure
objCommand.Connection = objConnection
"Add the required parameter for the query
" objCommand.Parameters.Add("@ID", OleDbType.Guid, 16).Value = _
" New Guid(ComboBox1.SelectedValue.ToString)
objCommand.Parameters.Add("@ID", OleDbType.TinyInt, 8).Value = CInt(ComboBox1.SelectedValue.ToString)
"Execute the Query
objDataReader = objCommand.ExecuteReader()
"If we have data then display the project description
If objDataReader.HasRows Then
objDataReader.Read()
TextBox1.Text = objDataReader.Item("LastName")
End If
"Close the DataReader and Connection
objDataReader.Close()
objConnection.Close()
"Clean up
objDataReader = Nothing
objCommand.Dispose()
objCommand = Nothing
objConnection.Dispose()
objConnection = Nothing
End Sub
End Class
<Global.Microsoft.VisualBasic.rupilerServices.DesignerGenerated()> _
Partial Public Class Form1
Inherits System.Windows.Forms.Form
"Form overrides dispose to clean up the component list.
<System.Diagnostics.DebuggerNonUserCode()> _
Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean)
If disposing AndAlso components IsNot Nothing Then
components.Dispose()
End If
MyBase.Dispose(disposing)
End Sub
"Required by the Windows Form Designer
Private components As System.ruponentModel.IContainer
"NOTE: The following procedure is required by the Windows Form Designer
"It can be modified using the Windows Form Designer.
"Do not modify it using the code editor.
<System.Diagnostics.DebuggerStepThrough()> _
Private Sub InitializeComponent()
Me.ruboBox1 = New System.Windows.Forms.ruboBox
Me.Label1 = New System.Windows.Forms.Label
Me.TextBox1 = New System.Windows.Forms.TextBox
Me.Label2 = New System.Windows.Forms.Label
Me.SuspendLayout()
"
"ComboBox1
"
Me.ruboBox1.DropDownStyle = System.Windows.Forms.ruboBoxStyle.DropDownList
Me.ruboBox1.FormattingEnabled = True
Me.ruboBox1.Location = New System.Drawing.Point(76, 13)
Me.ruboBox1.Name = "ComboBox1"
Me.ruboBox1.Size = New System.Drawing.Size(205, 21)
Me.ruboBox1.TabIndex = 3
"
"Label1
"
Me.Label1.AutoSize = True
Me.Label1.Location = New System.Drawing.Point(13, 16)
Me.Label1.Name = "Label1"
Me.Label1.Size = New System.Drawing.Size(41, 13)
Me.Label1.TabIndex = 2
Me.Label1.Text = "Projects"
"
"TextBox1
"
Me.TextBox1.Location = New System.Drawing.Point(76, 44)
Me.TextBox1.Name = "TextBox1"
Me.TextBox1.Size = New System.Drawing.Size(204, 20)
Me.TextBox1.TabIndex = 5
"
"Label2
"
Me.Label2.AutoSize = True
Me.Label2.Location = New System.Drawing.Point(13, 47)
Me.Label2.Name = "Label2"
Me.Label2.Size = New System.Drawing.Size(56, 13)
Me.Label2.TabIndex = 4
Me.Label2.Text = "Last Name"
"
"Form1
"
Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
Me.ClientSize = New System.Drawing.Size(292, 76)
Me.Controls.Add(Me.TextBox1)
Me.Controls.Add(Me.Label2)
Me.Controls.Add(Me.ruboBox1)
Me.Controls.Add(Me.Label1)
Me.Name = "Form1"
Me.Text = "Form1"
Me.ResumeLayout(False)
Me.PerformLayout()
End Sub
Friend WithEvents ComboBox1 As System.Windows.Forms.ruboBox
Friend WithEvents Label1 As System.Windows.Forms.Label
Friend WithEvents TextBox1 As System.Windows.Forms.TextBox
Friend WithEvents Label2 As System.Windows.Forms.Label
End Class
<A href="http://www.vbex.ru/Code/VBDownload/Employee.zip">Employee.zip( 7 k)</a>
DataView Bind to TextBox
Imports System
Imports System.Data
Imports System.Windows.Forms
Imports System.Data.SqlClient
public class MainClass
Shared Sub Main()
Dim form1 As Form = New Form1
Application.Run(form1)
End Sub
End Class
Public Class Form1
Inherits System.Windows.Forms.Form
#Region " Windows Form Designer generated code "
Public Sub New()
MyBase.New()
"This call is required by the Windows Form Designer.
InitializeComponent()
"Add any initialization after the InitializeComponent() call
End Sub
"Form overrides dispose to clean up the component list.
Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean)
If disposing Then
If Not (components Is Nothing) Then
components.Dispose()
End If
End If
MyBase.Dispose(disposing)
End Sub
"Required by the Windows Form Designer
Private components As System.ruponentModel.IContainer
"NOTE: The following procedure is required by the Windows Form Designer
"It can be modified using the Windows Form Designer.
"Do not modify it using the code editor.
Friend WithEvents TextBox1 As System.Windows.Forms.TextBox
Friend WithEvents TextBox2 As System.Windows.Forms.TextBox
Friend WithEvents DataSet1 As System.Data.DataSet
<System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()
Me.TextBox1 = New System.Windows.Forms.TextBox
Me.TextBox2 = New System.Windows.Forms.TextBox
Me.DataSet1 = New System.Data.DataSet
CType(Me.DataSet1, System.ruponentModel.ISupportInitialize).BeginInit()
Me.SuspendLayout()
"
"TextBox1
"
Me.TextBox1.Location = New System.Drawing.Point(8, 8)
Me.TextBox1.Name = "TextBox1"
Me.TextBox1.Size = New System.Drawing.Size(200, 20)
Me.TextBox1.TabIndex = 0
Me.TextBox1.Text = "TextBox1"
"
"TextBox2
"
Me.TextBox2.Location = New System.Drawing.Point(8, 32)
Me.TextBox2.Name = "TextBox2"
Me.TextBox2.Size = New System.Drawing.Size(200, 20)
Me.TextBox2.TabIndex = 1
Me.TextBox2.Text = "TextBox2"
"
"DataSet1
"
Me.DataSet1.DataSetName = "NewDataSet"
Me.DataSet1.Locale = New System.Globalization.CultureInfo("en-GB")
"
"Form1
"
Me.AutoScaleBaseSize = New System.Drawing.Size(5, 13)
Me.ClientSize = New System.Drawing.Size(216, 61)
Me.Controls.Add(Me.TextBox2)
Me.Controls.Add(Me.TextBox1)
Me.Name = "Form1"
Me.Text = "Form1"
CType(Me.DataSet1, System.ruponentModel.ISupportInitialize).EndInit()
Me.ResumeLayout(False)
End Sub
#End Region
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
"Create Connection object
Dim thisConnection As New SqlConnection _
("server=(local)\SQLEXPRESS;" & _
"integrated security=sspi;" & _
"database=MyDatabase")
" Sql Query
Dim sql As String = _
"SELECT * FROM Employee"
" Create Data Adapter
Dim da As New SqlDataAdapter(sql, thisConnection)
" Fill Dataset and Get Data Table
da.Fill(DataSet1, "Employee")
Dim dt As DataTable = DataSet1.Tables("Employee")
" Create a DataView with Filter and Sort Order
Dim dv As New DataView(dt, _
"ID="1"", "FirstName", _
DataViewRowState.CurrentRows)
" Bind TextBox1 to FirstName column of the Employees table
TextBox1.DataBindings.Add("text", dv, "FirstName")
" Bind TextBox2 to LastName column of the Products table
TextBox2.DataBindings.Add("text", dv, "LastName")
End Sub
End Class