我不知道这是否可能,我不知道如何实现这一目标。
我在数据库中有 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 还利用了多维数组,您可以读取它并可以将所有内容存储在一个数组中(不建议使用,因为效率不高)。