从 vb.Net 向服务器上的 PHP 发送数据数组


Sending array of data to PHP at server from vb.Net

我不知道这是否可能,我不知道如何实现这一目标。

我在数据库中有 50 条(可以更多)MS Access记录,我希望将它们发送到服务器上的php file进行进一步处理。

到目前为止,我实现的是循环访问记录并逐个发送它们。这种需要时间导致网络问题,一些记录将被发送,而另一些则不会发送,并且发送的每个数据都必须等待服务器的报告,然后才能发送下一个记录。

有没有办法我可以一次性发送所有记录,可能是在数组或其他东西中,并能够在服务器端访问它?

下面是我的表架构。

--------------------------
|  id  |  phone  |  msg  |
--------------------------
|  1   | 09023023|  hi   |
|  2   | 09023024|  hey  |
|  3   | 09023025|  dear |  
--------------------------

谢谢

我为此找到了解决方案。我不知道这是否是最好的方法,但它运作良好。

根据@Tushar Gupta建议,我使用在 http://www.newtonsoft.com/中找到的第三方Json Library创建了一个Json Array

我遍历了数据库中的数据,并将它们连接起来,如下所示:

法典

    Dim sms As New Sms 'note that this is a class
    Dim sms_obj As String = ""

    Try
        conn.Open()
        Dim cmd As OleDbCommand = New OleDbCommand("id, phone, msg FROM sms;", conn)
        Dim reader As OleDbDataReader = cmd.ExecuteReader

        'collate sms
        Dim i As Integer = 0
        While reader.Read()
            sms.id = reader("id").ToString()
            sms.member_phone = reader("phone").ToString()
            sms.member_message = reader("msg").ToString()

            If sms_obj = "" Then
                sms_obj = sms_obj + JsonConvert.SerializeObject(sms, Formatting.Indented)
            Else
                sms_obj = sms_obj + "," + JsonConvert.SerializeObject(sms, Formatting.Indented)
            End If
        End While
        sms_obj = "{ ""sms""" + ":" + "[" + sms_obj + "]}" ' this put the json string in an array
        'close the connection
        conn.Close()

        If sms.ToString <> "" Then
            HelperModule.SendSms(sms_obj)
        End If

        lblSmsState.Text = "sending sms done!"
    Catch ex As Exception
        msgbox(ex.toString())
        conn.Close()
    End Try

输出

    { "sms":[
          {
            "id": "1",
            "member_phone": "09023023",
            "member_message": "hi"
          },{
            "id": "2",
            "member_phone": "09023024",
            "member_message": "hey"
          },{
            "id": "3",
            "member-phone": "09023025",
            "member_message": "dear"
          }
        ]
      }

不确定你到底想实现什么,但你可以使用 MYSQL 或 phpmyAdmin

您也可以在Excel文件中在列顶部添加$id = (,然后使用逗号分隔记录(CTRL + F替换可能很有用)并以);结束该列。您可能也希望对电话和 msg 执行相同的过程,然后将文件另存为 CSV 或将其转换为单行,或者可能在文本编辑器中复制数据,这应该将其另存为数组。

PHP 还利用了多维数组,您可以读取它并可以将所有内容存储在一个数组中(不建议使用,因为效率不高)。