![](/img/trans.png)
[英]VB.NET Save the delete command in access database in datagridview
[英]Why is my DataGridView in VB.Net doubling in size every time I access the Access Database?
我這里有一些基本代碼,它們可以調用Access數據庫(“房屋”),僅此而已。 但是,每次單擊按鈕時,DataGridView的大小都會加倍。 我的意思是,如果實際的Access數據庫有5行,DataGridView最初會顯示正確的數據庫,但是每次單擊按鈕后,它最多上升10行(它們重復),然后是15行,然后是20行,等等。不幸的是,我可以請勿將其放置在Form_Load區域中。
我嘗試將“ dt.rows.clear()”放在“ dgv.DataSource = dt”之前,但它會擦除所有內容。 還嘗試了“ DirectCast(Dgv.DataSource,DataTable).Rows.Clear()”和“ Dgv.Datasource = Nothing”
Public Class frmHouses
Dim dt As DataTable = New DataTable()
Dim connStr As String = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=Houses.accdb"
Dim sqlStr As String = "SELECT * FROM Property"
Private Sub btnRecord_Click(sender As Object, e As EventArgs) Handles btnRecord.Click
Dim dataAdapter As OleDb.OleDbDataAdapter = New OleDb.OleDbDataAdapter(sqlStr, connStr)
dataAdapter.Fill(dt)
dataAdapter.Dispose()
dgv.DataSource = dt
End Sub
謝謝!
Public Class frmHouses
Dim connStr As String = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=Houses.accdb"
Dim sqlStr As String = "SELECT * FROM Property"
Private Sub btnRecord_Click(sender As Object, e As EventArgs) Handles btnRecord.Click
Dim dt As DataTable = New DataTable()
Dim dataAdapter As OleDb.OleDbDataAdapter = New OleDb.OleDbDataAdapter(sqlStr, connStr)
dataAdapter.Fill(dt)
dataAdapter.Dispose()
dgv.DataSource = dt
End Sub
或者你可以
Public Class frmHouses
Dim dt As DataTable = New DataTable()
Dim connStr As String = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=Houses.accdb"
Dim sqlStr As String = "SELECT * FROM Property"
Private Sub btnRecord_Click(sender As Object, e As EventArgs) Handles btnRecord.Click
dt.clear()
Dim dataAdapter As OleDb.OleDbDataAdapter = New OleDb.OleDbDataAdapter(sqlStr, connStr)
dataAdapter.Fill(dt)
dataAdapter.Dispose()
dgv.DataSource = dt
End Sub
Public Class frmHouses
Dim dt As DataTable = New DataTable()
Dim connStr As String = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=Houses.accdb"
Dim sqlStr As String = "SELECT * FROM Property"
Private Sub btnRecord_Click(sender As Object, e As EventArgs) Handles btnRecord.Click
Dim dataAdapter As OleDb.OleDbDataAdapter = New OleDb.OleDbDataAdapter(sqlStr, connStr)
dataAdapter.Fill(dt)
dataAdapter.Dispose()
IF dgv.Rows.Count > 0 Then
dgv.Rows.Clear()
End IF
dgv.DataSource = dt
End Sub
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.