首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VB >

关于Win7上使用Adodc 报错 无效的授权说明 的解决办法分享贴

2013-02-02 
关于Win7下使用Adodc 报错 无效的授权说明 的解决方法分享贴因为需要使用 Adodc 绑定数据到 MSHFlexgrid

关于Win7下使用Adodc 报错 无效的授权说明 的解决方法分享贴
因为需要使用 Adodc 绑定数据到 MSHFlexgrid 控件
在 xp、win2000 下 如下代码可用
Public Con1 As New ADODB.Connection  

Con1.Open "Provider=SQLOLEDB;data source='" & Ser & "';Database=" & Db1 & ";Uid=" & User & ";PWD=" & Pass & ";"

Adodc1.ConnectionString=con1.ConnectionString

Adodc1.RecordSource = "Select * From TableNameXX"
Adodc1.Refresh
'如果有数据那么
If Adodc1.Recordset.RecordCount > 0 Then Set MS1.DataSource = Adodc1

而在Win7 下此段代码无法通过
在运行到 "Adodc1.Refresh" 时会报错  "无效的授权说明"
需要将连接方式改为 
Adodc1.ConnectionString = "Provider=SQLOLEDB.1;Data Source='" & Ser & "';User ID=" & User & ";PWD=" & Pass & ";Initial  Catalog=" & Db1 & ";Persist Security Info=False"
此时 运行到 "Adodc1.Refresh" 时会报错  "无效的 TableNameXX"
需要将数据源中增加数据库名称  Select * From DataBaseName..TableNameXX
即可通过,win7下代码需写成如下方式

Adodc1.ConnectionString = "Provider=SQLOLEDB.1;Data Source='" & Ser & "';User ID=" & User & ";PWD=" & Pass & ";Initial  Catalog=" & Db1 & ";Persist Security Info=False"
Adodc1.RecordSource = "Select * From DataBaseName..TableNameXX"
Adodc1.Refresh
'如果有数据那么
If Adodc1.Recordset.RecordCount > 0 Then Set MS1.DataSource = Adodc1


另外还需注意,xp、2000 下的程序要在win7下运行,所涉及到的控件需要以管理员身份进行注册,否则无法使用
 在 %systemroot%\system32\ 找到 CMD.exe 右键选择以管理员身份运行
然后 执行 Regsvr32 XXXX.ocx 即可注册成功





[解决办法]
该回复于2010-12-24 11:24:19被版主删除

热点排行