在程序中,我是把文本文件(conn.txt)中的数据导入,在MSHFlexGrid中显示,然后把MSHFlexGrid中的数据保存到SQL数据库对应的表中,在保存之前,没连接数据库.请各位帮帮我,我刚接触vb,不知道该如何做.

解决方案 »

  1.   

    你既然是要写进数据库,就先学习怎么连接数据库吧如果你刚接触VB,偶建议你先去看书。否则,写给你代码也是没有用的-_-@原理很简单,写SQL语句addnew进去。
      

  2.   

    Option Explicit'工程->引用->Microsoft ActiveX Data Objects 2.0 Library (后面为版本号)
    Dim rs As New ADODB.Recordset, cn As New ADODB.Connection'在MSHFLEXGRID表格控件中显示查询到的内容
    Private Sub Command1_Click()
        If rs.State = adStateOpen Then rs.Close
        rs.Open "SELECT * FROM USERPASSWORD", cn, adOpenDynamic, adLockOptimistic
        Set MSHFlexGrid1.DataSource = rs
    End Sub'向数据库中添加数据
    Private Sub Command2_Click()
        If rs.State = adStateOpen Then rs.Close
        rs.Open "SELECT * FROM USERPASSWORD", cn, adOpenDynamic, adLockOptimistic
        rs.AddNew
        rs!UID = txtUid.Text
        rs!PWD = txtPwd.Text
        rs!TRUENAME = txtName.Text
        rs!CREATEDATE = Format(Now, "YYYY/MM/DD")
        rs.Update
        
        Command1.Value = True
    End Sub'从数据库中删除数据
    Private Sub Command3_Click()
        cn.Execute "DELETE FROM USERPASSWORD WHERE UID = '" & txtUid.Text & "'"
        Command1.Value = True
    End SubPrivate Sub Command4_Click()
        With MSHFlexGrid1
            Clipboard.SetText .Text
        End With
    End SubPrivate Sub Command5_Click()
        With MSHFlexGrid1
            .Text = Clipboard.GetText
        End With
    End SubPrivate Sub Form_Load()
        cn.ConnectionString = "Driver={SQL Server};SERVER=DataServer;DATABASE=zxzx;UID=information;PWD=information*&#"    'cn.ConnectionString = "DBQ=" & App.Path & "\TelePhone.mdb;DefaultDir=" & _
            App.Path & ";Driver={Microsoft Access Driver (*.mdb)};" & _
            "DriverId=25;FIL=MS Access;ImplicitCommitSync=Yes;" & _
            "MaxBufferSize=512;MaxScanRows=8;PageTimeout=5;SafeTransactions=0;" & _
            "Threads=3;UID=ADMIN;UserCommitSync=Yes;PWD=admind1234;"
        cn.Open
        '更多的查询字符串可以上这里查
        'http://www.connectionstrings.com/
    End SubPrivate Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
    On Error Resume Next
        rs.Close
        Set rs = Nothing
        cn.Close
        Set cn = Nothing
    End Sub
      

  3.   

    先用MSHFlexGrid控件的ROWS和COLS属性返回总的行数和列数
    ROWNUM = MSHFlexGrid1.ROWS
    COLNUM = MSHFlexGrid1.COLS
    用MSHFlexGrid控件的TextMatrix属性可以返回任意单元的文本内容
    DIM TEXT AS STRING 
    TEXT=MSHFlexGrid1.TextMatrix(rowindex, colindex)
    用循环逐行取出文本
    插入到数据库中
    祝你成功!
      

  4.   

    Private Sub Command1_Click()
       
        If rs.State = adStateOpen Then rs.Close
        rs.Open "SELECT * FROM USERPASSWORD", cn, adOpenDynamic, adLockOptimistic
        Do While i <= MSHFlexGrid1.ROWS - 1
            rs.AddNew
            rs!P00 = MSHFlexGrid1.TextMatrix(i, 0)
            rs!P01 = MSHFlexGrid1.TextMatrix(i, 1)
            rs!P02 = MSHFlexGrid1.TextMatrix(i, 2)
            rs!P03 = MSHFlexGrid1.TextMatrix(i, 3)
            rs!P04 = MSHFlexGrid1.TextMatrix(i, 4)
            rs!P05 = MSHFlexGrid1.TextMatrix(i, 5)
            rs.Update
            i = i + 1
        LoopEnd Sub
      

  5.   

    Private Sub Command1_Click()
       
        If rs.State = adStateOpen Then rs.Close
        rs.Open "SELECT * FROM USERPASSWORD", cn, adOpenDynamic, adLockOptimistic
        Do While i <= MSHFlexGrid1.ROWS - 1
            rs.AddNew
            rs!P00 = MSHFlexGrid1.TextMatrix(i, 0)
            rs!P01 = MSHFlexGrid1.TextMatrix(i, 1)
            rs!P02 = MSHFlexGrid1.TextMatrix(i, 2)
            rs!P03 = MSHFlexGrid1.TextMatrix(i, 3)
            rs!P04 = MSHFlexGrid1.TextMatrix(i, 4)
            rs!P05 = MSHFlexGrid1.TextMatrix(i, 5)
            rs.Update
            i = i + 1
        LoopEnd Sub