客户端发送信息:"select * from xxx"
那么服务器端返回的是一个记录集recordset.
1、服务器端如何发送?
2、客户端使用datagrid如何显示出来呢?
谢谢了!
2 个解决方案
#1
其实你的程序差不多就是三层结构的C/S程序了。
服务器端返回时,应该将每条记录逐一读取并以字符串或其它数据类型返回给客户端。
总之是不能返回一个对象的。
具体方法是:
客户端发送:"client/ask/姓名/张三/考试成绩"
类似这样的查询字符串。
服务器端对收到的字符串进行分解,然后对转化为sql语句对数据库查询。服务器端然后将查到的记录读出来以字符串形式(或其它形式)保存到一个动态数组里,然后逐一发送
给客户端。
客户端收到后将字符串分解得到记录的内容,然后在控件里显示出来。
真正做的时候要考虑“字符串粘连”,以及数据库不同而操作的不同等(比如sql server与mdb对日期的处理就不同)
服务器端返回时,应该将每条记录逐一读取并以字符串或其它数据类型返回给客户端。
总之是不能返回一个对象的。
具体方法是:
客户端发送:"client/ask/姓名/张三/考试成绩"
类似这样的查询字符串。
服务器端对收到的字符串进行分解,然后对转化为sql语句对数据库查询。服务器端然后将查到的记录读出来以字符串形式(或其它形式)保存到一个动态数组里,然后逐一发送
给客户端。
客户端收到后将字符串分解得到记录的内容,然后在控件里显示出来。
真正做的时候要考虑“字符串粘连”,以及数据库不同而操作的不同等(比如sql server与mdb对日期的处理就不同)
#2
'//Server端:
Public Function getid(strsql_CN As String) As Recordset
Set cn = New ADODB.Connection
cn.ConnectionString = "DSN=***;UID=****;PWD=*****;"
cn.Open
Set rs = New ADODB.Recordset
rs.CursorType = adOpenKeyset
rs.CursorLocation = adUseClient
rs.LockType = adLockOptimistic
'rs.PageSize = 20 '每页20条记录
'第二页
rs.Open strsql_CN, cn
Set getid = rs
End Function
'//Client端:
Dim rs As Recordset
Set rs = New Recordset
Set rs = dd.getid("select * from tableName")
MsgBox " Succeeded!"
'//自己需要配置一个ODBC
'//**********************************************
'//** 加分!!
'//**********************************************
Public Function getid(strsql_CN As String) As Recordset
Set cn = New ADODB.Connection
cn.ConnectionString = "DSN=***;UID=****;PWD=*****;"
cn.Open
Set rs = New ADODB.Recordset
rs.CursorType = adOpenKeyset
rs.CursorLocation = adUseClient
rs.LockType = adLockOptimistic
'rs.PageSize = 20 '每页20条记录
'第二页
rs.Open strsql_CN, cn
Set getid = rs
End Function
'//Client端:
Dim rs As Recordset
Set rs = New Recordset
Set rs = dd.getid("select * from tableName")
MsgBox " Succeeded!"
'//自己需要配置一个ODBC
'//**********************************************
'//** 加分!!
'//**********************************************
#1
其实你的程序差不多就是三层结构的C/S程序了。
服务器端返回时,应该将每条记录逐一读取并以字符串或其它数据类型返回给客户端。
总之是不能返回一个对象的。
具体方法是:
客户端发送:"client/ask/姓名/张三/考试成绩"
类似这样的查询字符串。
服务器端对收到的字符串进行分解,然后对转化为sql语句对数据库查询。服务器端然后将查到的记录读出来以字符串形式(或其它形式)保存到一个动态数组里,然后逐一发送
给客户端。
客户端收到后将字符串分解得到记录的内容,然后在控件里显示出来。
真正做的时候要考虑“字符串粘连”,以及数据库不同而操作的不同等(比如sql server与mdb对日期的处理就不同)
服务器端返回时,应该将每条记录逐一读取并以字符串或其它数据类型返回给客户端。
总之是不能返回一个对象的。
具体方法是:
客户端发送:"client/ask/姓名/张三/考试成绩"
类似这样的查询字符串。
服务器端对收到的字符串进行分解,然后对转化为sql语句对数据库查询。服务器端然后将查到的记录读出来以字符串形式(或其它形式)保存到一个动态数组里,然后逐一发送
给客户端。
客户端收到后将字符串分解得到记录的内容,然后在控件里显示出来。
真正做的时候要考虑“字符串粘连”,以及数据库不同而操作的不同等(比如sql server与mdb对日期的处理就不同)
#2
'//Server端:
Public Function getid(strsql_CN As String) As Recordset
Set cn = New ADODB.Connection
cn.ConnectionString = "DSN=***;UID=****;PWD=*****;"
cn.Open
Set rs = New ADODB.Recordset
rs.CursorType = adOpenKeyset
rs.CursorLocation = adUseClient
rs.LockType = adLockOptimistic
'rs.PageSize = 20 '每页20条记录
'第二页
rs.Open strsql_CN, cn
Set getid = rs
End Function
'//Client端:
Dim rs As Recordset
Set rs = New Recordset
Set rs = dd.getid("select * from tableName")
MsgBox " Succeeded!"
'//自己需要配置一个ODBC
'//**********************************************
'//** 加分!!
'//**********************************************
Public Function getid(strsql_CN As String) As Recordset
Set cn = New ADODB.Connection
cn.ConnectionString = "DSN=***;UID=****;PWD=*****;"
cn.Open
Set rs = New ADODB.Recordset
rs.CursorType = adOpenKeyset
rs.CursorLocation = adUseClient
rs.LockType = adLockOptimistic
'rs.PageSize = 20 '每页20条记录
'第二页
rs.Open strsql_CN, cn
Set getid = rs
End Function
'//Client端:
Dim rs As Recordset
Set rs = New Recordset
Set rs = dd.getid("select * from tableName")
MsgBox " Succeeded!"
'//自己需要配置一个ODBC
'//**********************************************
'//** 加分!!
'//**********************************************