要用VB写一段程序从服务器端接收数据然后写入数据库,高分求

要用VB写一段程序从服务器端接收数据然后写入数据库,高分求,第1张

如果用SQL数据库服务器就比较简单,但是非要用winsock来实现的话,只能参照下面:
客户端把查询字符(sql)串发给服务器,服务器根据查询字符进行查询,然后将记录集转换成数组发给客户端,客户端再将收到的数据转换为记录集显示。
Public Function RsToBin(Rs As Recordset) As Variant
Dim objStream As Stream
Set objStream = New Stream
objStreamOpen
objStreamType = adTypeBinary
RsSave objStream, adPersistADTG
objStreamPosition = 0
RsToBin = objStreamRead()
Set objStream = Nothing
End Function
Public Function BinToRs(vData As Variant) As Recordset
Dim objStream As Stream
Dim objRs As Recordset
Set objRs = New Recordset
Set objStream = New Stream
objStreamOpen
objStreamType = adTypeBinary
objStreamWrite vData
objStreamPosition = 0
objRsOpen objStream
Set BinToRs = objRs
Set objRs = Nothing
Set objStream = Nothing
End Function
第一个函数为记录集转换为数组,第二个位数据转换为记录集。

在Fragment可以提前初始化 onCreateView()这个方法
onCreateView(){
//此时还没有数据,所以显示 数据正在加载中 showLoadingView()吧
return view;
}
public void onUpdateView(JSONDATA data){
//现在UI线程中更新 之前Fragment还在显示loadingView,
}
class MainActivity {
//activty中做异步请求数据,如果请求成功 调用 Fragment中自己写的onUpdateView()方法

}
//但我到喜欢把网络数据请求都写在service里面,然后网络获取数据结果通过广播回调
Intent intent = new Intent(this,MyServiceclass); //这个Service 就是专门请求网络数据的。
intentputString("reqURL",myURL);
intentputString("params",params);
startService(intent);
在onStartCommand() 里面通过判断 进行网络通信 *** 作。
// service 里面为了避免多个线程浪费 我开启了一个线程池,大小为3个估计是够了。然后用阻塞队列控制。LinkedBlockingQueue
海腾小任为你解答,希望可以帮到你。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zz/12856320.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2025-08-28
下一篇2025-08-28

发表评论

登录后才能评论

评论列表(0条)

    保存