急需VB+SQL编程实例,会的请帮帮忙!谢了

解决方案 »

  1.   

    google 搜索
    “VB SQL编程实例源码”
      

  2.   


    '引用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