使用vb6通过MSFlexigrid将XML数据导入SQL表

使用vb6通过MSFlexigrid将XML数据导入SQL表,vb6,Vb6,我的VB6代码读取XML文件 加载到MSFLEXIGRID中 循环遍历每条记录,如果我看到断点, 不在sql表中添加数据,除非有一条记录不知道发生的原因。不会抛出任何错误 我在下面添加代码: Private Sub cmdPrint_Click() Dim rsMtrData As New ADODB.Recordset Dim irow As Integer rsClose rsMtrData rsMtrData.Open "select * from Mast

我的VB6代码读取XML文件 加载到MSFLEXIGRID中 循环遍历每条记录,如果我看到断点, 不在sql表中添加数据,除非有一条记录不知道发生的原因。不会抛出任何错误

我在下面添加代码:

Private Sub cmdPrint_Click()
    Dim rsMtrData As New ADODB.Recordset
    Dim irow As Integer
    rsClose rsMtrData
    rsMtrData.Open "select * from Master_Meter_Reading ", cn, adOpenKeyset, adLockPessimistic
    With MSFlexGrid1
        rsMtrData.AddNew
        For irow = 0 To .Rows - 1
            .Row = irow
            .Col = 0
            rsMtrData!Snapshot = .text & ""
            .Col = 1
            rsMtrData!LoadSurveyDTime = Format(.text, "dd-MM-yyyy hh:mm:SS")
            .Col = 2
            rsMtrData!LoadSurveyDateDay = g_ConvertNumber(.text)
            .Col = 3
            rsMtrData!LoadSurveyDate = Format(.text, g_DateFormat)
            .Col = 4
            rsMtrData!LoadSurveyDateParmVal = g_ConvertNumber(.text)
            .Col = 5
            rsMtrData!LoadSurveyType = .text & ""
            .Col = 6
            rsMtrData!LoadSurveyUnit = g_ConvertNumber(.text)
            .Col = 7
            rsMtrData!LoadSurveySlipValParmVal = .text & ""
            .Col = 8
            rsMtrData!LoadSurveySlipValParmValTime = g_ConvertNumber(.text)
            rsMtrData.Update
        Next irow
    End With
    MsgBox "Data Successfully Saved", vbInformation
End Sub

您只添加一条记录,然后对其进行更新。此时AddNew位于循环的外部。如果更改代码并将AddNew移动到For..Next循环中,它应该会添加更多行

您的代码如下所示:

Private Sub cmdPrint_Click()
Dim rsMtrData As New ADODB.Recordset
Dim irow As Integer

rsClose rsMtrData

rsMtrData.Open "select * from Master_Meter_Reading ", cn, adOpenKeyset, adLockPessimistic

With MSFlexGrid1

    For irow = 0 To .Rows - 1
        rsMtrData.AddNew    'This is the line that has moved from outside to inside the loop.

        .Row = irow

        .Col = 0
        rsMtrData!Snapshot = .text & ""

        .Col = 1
        rsMtrData!LoadSurveyDTime = Format(.text, "dd-MM-yyyy hh:mm:SS")

        .Col = 2
        rsMtrData!LoadSurveyDateDay = g_ConvertNumber(.text)

        .Col = 3
        rsMtrData!LoadSurveyDate = Format(.text, g_DateFormat)

        .Col = 4
        rsMtrData!LoadSurveyDateParmVal = g_ConvertNumber(.text)

        .Col = 5
        rsMtrData!LoadSurveyType = .text & ""

        .Col = 6
        rsMtrData!LoadSurveyUnit = g_ConvertNumber(.text)

        .Col = 7
        rsMtrData!LoadSurveySlipValParmVal = .text & ""

        .Col = 8
        rsMtrData!LoadSurveySlipValParmValTime = g_ConvertNumber(.text)

        rsMtrData.Update
    Next irow
End With

MsgBox "Data Successfully Saved", vbInformation
End Sub

你的书甚至很难读。请编辑您的问题。我们愿意帮助你。你可以阅读:请看lardymonkey的答案,如果它有效,接受它作为答案。这是一种货币。Lardymonkey:对解决我的问题有很大帮助。它起了很大的作用