关于VB,access数据库在服务器上 而我想在客户端界面内修改服务器的数据库上的数据,是怎么搞的啊?

关于VB,access数据库在服务器上 而我想在客户端界面内修改服务器的数据库上的数据,是怎么搞的啊?,第1张

1) 因为“Set Rs = DbExecute(Sql)” 返回的记录集始终是只读的、仅向前的游标,所以不能用这种方法获得记录集去更新数据库(记录集是只读的,不可更新)。如果需要用记录集更新数据库,应该使用OPEN方法打开记录集(请使用可更新的记录集)。

至于EXECUTE方法运行insert into values 语句可以成功的原因是EXECUTE方法不依赖可更新的记录集对象而是直接将新记录插入到数据库里所致;

2) 运行insert into values 将二进制流数据保存到MDB数据库可能够呛,暂时未找到相应的解决方案(MSSQL等大型数据库可以)。

下面介绍一个使用ADO Stream对象的方法供参考,利用可更新的记录集将二进制流插入MDB数据表。这种方法我用过、没问题的。

'Test(id(文本,主键),pic(ole对象)) 数据表结构

' 引用 Microsoft ActiveX Data Objects 25 Library 及以上版本

'25版本以下不支持Stream对象

Private Sub Command0_Click()

Dim cn As New ADODBConnection

Dim rs As New ADODBRecordset

Dim strSql As String

Dim cnStr As String

Dim img As New ADODBStream

cnStr ="Provider=MicrosoftJetOLEDB40;Data Source='\\1921681100\Shared\datamdb';" '请更改为实际连接字符串

rsCursorLocation=adUseClient

cnOpen cnStr '打开连接

With img

Type = adTypeBinary '二进制模式

Open

LoadFromFile "D:\My Documents\9_064836_1jpg" ‘这里也可以引用图像控件的picture属性

End With

strSql = "select from test"

rsOpen strSql, cn, adOpenKeyset, adLockOptimistic '打开数据表

rsAddNew

rs!id = "001"

rs!pic = imgRead '存入二进制流数据

rsUpdate

rsClose

Set rs = Nothing

cnClose

Set cn = Nothing

End Sub

打开 SQL Server Management Studio,选择附加数据库就行。

不同版本的 sql server 操作方法不太一样,早期版本叫 Sql Server 企业管理器。

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » 关于VB,access数据库在服务器上 而我想在客户端界面内修改服务器的数据库上的数据,是怎么搞的啊?

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情