[英]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.