教训:不要使用ACCESS数据库做这个工作
一 提取与设置列宽度
Public Sub GetColumnWidth(ByVal TableName As String, ByVal LastColumn As Long, ByVal LV As ListView)
Dim cn As New SqlConnection("Server=" & g_DatabaseServerIp & ";Initial Catalog=" & g_DatabaseName & ";UID=" & g_DatabaseUser & ";Pwd=" & g_DatabaseUserPassword)
cn.Open()
Dim da As New SqlDataAdapter("select * from " & TableName, cn)
Dim dt As New DataTable
da.Fill(dt)
Dim i As Integer
For i = 0 To LastColumn - 1
LV.Columns(i).Width = dt.Rows(0).Item(i)
Next
dt.Dispose()
da.Dispose()
cn.Dispose()
End Sub
二 保存列宽度
Public Sub RecordColumnWidth(ByVal TableName As String, ByVal LastColumn As Integer, ByVal LV As ListView)
Dim cn As New SqlConnection("Server=" & g_DatabaseServerIp & ";Initial Catalog=" & g_DatabaseName & ";UID=" & g_DatabaseUser & ";Pwd=" & g_DatabaseUserPassword)
cn.Open()
Dim da As New SqlDataAdapter("select * from " & TableName, cn)
Dim dt As New DataTable
da.Fill(dt)
Dim i As Integer
For i = 0 To LastColumn - 1
dt.Rows(0).Item(i) = LV.Columns(i).Width
Next
Dim cb = New SqlCommandBuilder(da)
da.Update(dt)
dt.Dispose()
da.Dispose()
cn.Dispose()
End Sub