help!help!help!help!help!help!help!
  请大虾给我指点迷津.
 我在做串口通信的毕业设计,(水文测量),我要实现的功能是从测量器件(单片机)接收数据,数据包括年,月,日,时,分,秒,水位数据,都是以二进制传送到串口,然后存储到数据库中(Access),
  对于数据库程序的编写,我不太懂,数据应当如何写入数据库,然后又如何调用,使数据能够以十进制显示在文本框(text)中,

解决方案 »

  1.   

    写入数据库的例子
    Public Function M_Access(M_AccessName As String)
    Dim M_temp As String
    Dim M_Error As String
    On Error GoTo ine
    Set conn = New Connection
    Set rs = New ADODB.Recordset
    M_temp = ""
    M_temp = App.Path + "\" & M_AccessName & ";"
    conn.Open "PROVIDER=Microsoft.Jet.OLEDB.4.0;Data Source=" & M_temp & ";"
    Set rs = conn.Execute("select * from login where number=1")
    '这里可以用Insert,Update等SQL语句.
    rs.Close
    conn.Close
    GoTo inerr
    ine:
       M_Error = "数据库错误号:" & Err.Number & " 错误内容:" & Err.Description
       MsgBox M_Error, , "错误信息"
    inerr:
    Set rs = Nothing
    End Function建议你先交二进制转换成 字符串,然后在存入数据库,建议用Text类型存储。
      

  2.   

    我以前写的代码
    这是关于二进制串口读取的例子,已经通过且正在使用。看看吧。
    Public Function M_DuBang(MSComm1 As MSComm) As String
    Dim p_input As String
    Dim p_num(7) As String
    Dim P_Number As String
    Dim p_pathf As String
    Dim a As Integer
    On Error GoTo ine
    'Text1.SetFocus
    'Do
    'Text1.Text = ""
    With MSComm1
         .CommPort = 1
         .Settings = "1200,n,8,1"
         .PortOpen = True
    End With
    Do
    Loop While MSComm1.InBufferCount < 21
    If MSComm1.InBufferCount >= 20 Then
       p_input = ""
       p_input = MSComm1.Input  ’p_input就是串口的数据。
    GoTo inerr
    ine:
       MsgBox Err.Description, , "错误信息"
    inerr:
    MSComm1.PortOpen = False
    'Loop While stops = True
    End Function