'引用ADODC '添加DataGrid(命名为dbg2) Dim rst As New ADODB.Recordset Dim cnn As New ADODB.ConnectionPrivate Sub Form_Load() '/*------------------main------------------*/ viewData End SubPrivate Sub dbg2_BeforeDelete(Cancel As Integer) Dim xx As Integer, sql As String xx = dbg2.Row sql = "select * from zdxx" openTheTable sql rst.Move xx rst.Delete adAffectCurrent openTheTable sql table_HeaderEnd SubPrivate Sub dbg2_AfterColEdit(ByVal ColIndex As Integer) rst.Update
If ColIndex < dbg2.Columns.Count - 1 Then dbg2.Col = dbg2.Col + 1 Else dbg2.Row = dbg2.Row + 1 dbg2.Col = 0 End If
dbg2.CurrentCellModified = False xg_Flg = True End SubPrivate Sub Command1_Click() '删除所有记录
Dim sql As String, YN As Byte
YN = MsgBox("这将删除所有记录,并且" & Chr(10) & Chr(13) & _ "不可恢复,Y继续,N取消。", vbYesNo Or vbExclamation, _ "删除所有记录")
If YN = 6 Then sql = "delete from zdxx" cnn.Execute sql cnn.Close viewData End If
End SubPrivate Sub viewData() Dim sql As String openTheDatabase sql = "select zddm,zdmc,sjhm,ip,portNum,cjzt,xszt,chgn,jlct from zdxx order by zddm" openTheTable sql
table_Header
End Sub Private Sub table_Header() Set dbg2.DataSource = rst '这是绑定
“VB SQL编程实例源码”
'引用ADODC
'添加DataGrid(命名为dbg2) Dim rst As New ADODB.Recordset
Dim cnn As New ADODB.ConnectionPrivate Sub Form_Load() '/*------------------main------------------*/
viewData
End SubPrivate Sub dbg2_BeforeDelete(Cancel As Integer)
Dim xx As Integer, sql As String
xx = dbg2.Row
sql = "select * from zdxx"
openTheTable sql
rst.Move xx
rst.Delete adAffectCurrent openTheTable sql
table_HeaderEnd SubPrivate Sub dbg2_AfterColEdit(ByVal ColIndex As Integer)
rst.Update
If ColIndex < dbg2.Columns.Count - 1 Then
dbg2.Col = dbg2.Col + 1
Else
dbg2.Row = dbg2.Row + 1
dbg2.Col = 0
End If
dbg2.CurrentCellModified = False
xg_Flg = True
End SubPrivate Sub Command1_Click() '删除所有记录
Dim sql As String, YN As Byte
YN = MsgBox("这将删除所有记录,并且" & Chr(10) & Chr(13) & _
"不可恢复,Y继续,N取消。", vbYesNo Or vbExclamation, _
"删除所有记录")
If YN = 6 Then
sql = "delete from zdxx"
cnn.Execute sql
cnn.Close
viewData
End If
End SubPrivate Sub viewData()
Dim sql As String
openTheDatabase
sql = "select zddm,zdmc,sjhm,ip,portNum,cjzt,xszt,chgn,jlct from zdxx order by zddm"
openTheTable sql
table_Header
End Sub
Private Sub table_Header()
Set dbg2.DataSource = rst '这是绑定
dbg2.Columns(0).Width = 980
dbg2.Columns(0).Caption = " 站点代码"
dbg2.Columns(1).Width = 3200
dbg2.Columns(1).Caption = " 站点名称"
dbg2.Columns(2).Width = 1250
dbg2.Columns(2).Caption = " 手机号码"
dbg2.Columns(3).Width = 1580
dbg2.Columns(3).Caption = " 站点IP"
dbg2.Columns(4).Width = 980
dbg2.Columns(4).Caption = " 站点端口"
dbg2.Columns(5).Width = 980
dbg2.Columns(5).Caption = " 采集状态" dbg2.Columns(6).Width = 980
dbg2.Columns(6).Caption = " 显示状态" dbg2.Columns(7).Width = 980
dbg2.Columns(7).Caption = " 重合功能" dbg2.Columns(8).Width = 980
dbg2.Columns(8).Caption = " 计量CT"End SubPrivate Sub openTheDatabase()
'连接 ms sql sever
If cnn.State = 1 Then cnn.Close
If rst.State = 1 Then rst.Close
cnn.ConnectionString = "Provider=SQLOLEDB.1;Persist Security Info=True;" & _
"User ID=sa;Password=dg;Data Source=."
cnn.Open
'查找fj开头的数据,以时间倒序!
sql_Str = "SELECT name,crdate From master.dbo.sysdatabases Where left(name,2)='fj' order by crdate desc"
Set rst = cnn.Execute(sql_Str)
Dim BaseName As String
rst.MoveFirst
BaseName = rst!Name '取时间最新的以fj开头的数据库名
'连接时间最新的以fj开头的数据库
If cnn.State = 1 Then cnn.Close
cnn.ConnectionString = "Provider=SQLOLEDB.1;Persist Security Info=True;" & _
"User ID=sa;Password=dg;Data Source=.;Initial Catalog=" & BaseName
cnn.CursorLocation = adUseClient
cnn.OpenEnd SubPrivate Sub openTheTable(sql As String)
If rst.State = 1 Then rst.Close
'Set rst = cnn.Execute(sql)
rst.Open sql, cnn, adOpenStatic, adLockPessimisticEnd Sub