怎么样将text中的各行数据一条一条的读进数据库表里面啊?或者用什么别的控件更好用些,不至于操作那么繁琐,谢谢

解决方案 »

  1.   

    我经常用data控件的 感觉蛮方便的
      

  2.   

    通过API函数一行行读取
    然后更新到数据库
      

  3.   

    通过API函数一行行读取 
    然后更新到数据库
    哪个大哥放个例子 结贴算了  谢谢
      

  4.   

    自己解决,放码出来  大家有做的就来看看
    Const EM_GETLINE = &HC4
    Const EM_LINELENGTH = &HC1
    Const EM_LINEINDEX = &HBBPrivate Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hWnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
    Private Declare Sub RtlMoveMemory Lib "KERNEL32" (lpvDest As Any, lpvSource As Any, ByVal cbCopy As Long)
    '注:如果以上的声明放在「一般模块」底下, 应在 Const 之前加上 Public 保留
    '字, 并且将 Private 保留字去掉
    ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    Dim S As String
    Call TB_GetLine(Text1.hWnd, 1, S)  '' 假设要读取 Text1 第 1行的资料Text2.Text = S
    ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' 传回值 S 即等于到 1行的资料注:TextBox 的行次是从 0 起算。
    Sub TB_GetLine(ByVal hWnd As Long, ByVal whichLine As Long, Line As String)
    Dim length As Long, bArr() As Byte, bArr2() As Byte, lc As Longlc = SendMessage(hWnd, EM_LINEINDEX, whichLine, ByVal 0&)
    length = SendMessage(hWnd, EM_LINELENGTH, lc, ByVal 0&)
    If length > 0 Then
    ReDim bArr(length + 1) As Byte, bArr2(length - 1) As Byte
    Call RtlMoveMemory(bArr(0), length, 2)
    Call SendMessage(hWnd, EM_GETLINE, whichLine, bArr(0))
    Call RtlMoveMemory(bArr2(0), bArr(0), length)
    Line = StrConv(bArr2, vbUnicode)
    Else
    Line = ""
    End If
    End Sub