簡體   English   中英

從vb.Net向服務器上的PHP發送數據數組

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

我不知道這是否可能,我無法想象如何實現這一目標。

我在MS Access數據庫中有50個(可以更多)記錄,我希望將其發送到我的服務器上的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

OUTPUT

    { "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替換可能有用)並結束列); 您可能希望使用phone和msg執行相同的過程,然后將文件另存為CSV或將其設置為單行或者可能在文本編輯器中復制數據,並將其另存為數組。

php還使用多維數組,您可以讀取它並將所有內容存儲在一個數組中(不推薦使用效率不高)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM