| 发表于:2007-01-30 23:50:194楼 得分:20 |
举个例子。 客户端发送查询请求: private sub command1_click() dim strsql as string strsql = "select * from employees " if winsock1.state = sckconnected then winsock1.senddata strsql doevents end if end sub ' 服务器收到查询请求并执行 private sub winsock1_dataarrival(byval bytestotal as long) dim strbuffer as string dim arrdata() as byte dim objrec as recordset winsock1.getdata strbuffer, vbstring set objrec = getrecordset(strbuffer) ' 执行接受到的查询,其中getrecordset方法执行sql语句并返回一记录集 arrdata() = rstobin(objrec) ' 记录集转换成字节数组 winsock1.senddata arrdata ' 送回客户段 doevents end sub ' 客户端收到响应 private sub winsock1_dataarrival(byval bytestotal as long) dim arrdata() as byte dim objrec as recordset winsock1.getdata arrdata, vbarray + vbbyte set objrec = bintors(arrdata) ' 还原记录集 set datagrid1.datasource = objrec ' 显示数据 end sub 这些代码只是说明大致的方法,实际上接受数据时还要处理何时接受完成,接受完了以后才能还原成记录集。 | | |
|