Imports System.ComponentModel
Public Class Form1
Dim fpath As String = IO.Path.GetDirectoryName(Application.ExecutablePath)
Dim str As String = "provider=microsoft.ace.oledb.12.0;data source=" & fpath & "\db.accdb"
Dim con As New OleDb.OleDbConnection(str)
Dim cm As New OleDb.OleDbCommand
Dim dt As New DataTable
Private Sub gd()
dt.Clear()
cm.Parameters.Clear()
DataGridView1.DataSource = Nothing
cm.Connection = con
cm.CommandText = "select * from tb"
If con.State = ConnectionState.Closed Then con.Open()
dt.Load(cm.ExecuteReader)
If con.State = ConnectionState.Open Then con.Close()
DataGridView1.DataSource = dt
DataGridView1.Columns(0).Width = "100"
DataGridView1.Columns(0).HeaderText = "الرقم"
DataGridView1.Columns(1).Width = "150"
DataGridView1.Columns(1).HeaderText = "الاسم"
DataGridView1.Columns(2).Width = "100"
DataGridView1.Columns(2).HeaderText = "العمود الترقيم المخصص"
End Sub
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
gd()
End Sub
Private Function GetNewNumber() As Integer
cm.Parameters.Clear()
Dim n As Integer = 0
cm.CommandText = "select max(n) from tb"
If IsDBNull(cm.ExecuteScalar) Then
Return n
Else
n = cm.ExecuteScalar
End If
Return n
End Function
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
If con.State = ConnectionState.Closed Then con.Open()
txtn.Text = (GetNewNumber() + 1)
If con.State = ConnectionState.Open Then con.Close()
End Sub
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
cm.Parameters.Clear()
cm.CommandText = "insert into tb(tname,n) values(@tname,@n)"
cm.Parameters.AddWithValue("@tname", txtname.Text)
cm.Parameters.AddWithValue("@n", txtn.Text)
If con.State = ConnectionState.Closed Then con.Open()
cm.ExecuteNonQuery()
If con.State = ConnectionState.Open Then con.Close()
gd()
End Sub
Private Sub Form1_Closing(sender As Object, e As CancelEventArgs) Handles Me.Closing
If con.State = ConnectionState.Open Then con.Close()
End Sub
End Class