📄 index1.txt
字号:
21,运行时错误:“3706”ADO找不到指定的提供者
运行时错误:“3706”ADO找不到指定的提供者……
我在WIN95和WIN98上安装VB6打包好的应用程序(使用ADO 和ACCESS 的程序DCOM已安装;Mdac_typ 已装,ACCESS 已拷贝到指定的目录;可最后还是不能运行,不知何故?
<END>
22,如何在VB中使用SQL中的BACKUP命令
如何在VB中使用SQL中的BACKUP命令??我指的是如何在VB中挂这个函数!(例如:使用EXECUTE挂SELECT的,而BACKUP如何使用)
<END>
23,如何获得SQL服务器所管理的所有数据库名
我用VB的ADO方式访问SQL数据库,请问怎样动态的连接数据库,既给出服务器名和用户名,密码,程序能给出SQL服务器所管理的所有数据库,让我动态的连接。现在我连接时,数据库名由我给出。因此,也无法创建新的SQL数据库,而只能建表.望指点,谢谢,非常。
<END>
24,设计多用户应用程序,怎样锁定表
通过ADO与SQL SERVER连接后,怎样设计多用户应用程序, 如:当一个用户打开一个表并进行编辑时怎样锁定该表,以免别的用户也进行编辑?
<END>
25,从.dbf到.mdb查找更新速度慢
从.dbf到.mdb查找更新速度慢。我在用vb6.0对数据库进行搬迁,从.dbf数据到.mdb数据。情况如下:
现有两个.dbf数据库old1.dbf,old2.dbf,其中old1.dbf中有7000余数据,old2.dbf中有8000条数据,old1.dbf与old2.dbf有一个共同字段stu_ID,其它字段相互补充,且old2.dbf比old1.dbf多一些stu_ID。
现在我已经把old1.dbf中的数据加入到new.mdb中的一个表中,采取逐条记录加入方式,用了二三十余秒,速度还算可以。但加入old2.dbf中的数据时,我采用data数据控件对old2.dbf操作,用ado源码对new.mdb操作(不是ado控件),对old2.dbf中的每一条记录的stu_ID字段都在new.mdb中查找,如没找到则addnew,update,如找到则直接update。使用这种方法,加入old2.dbf用了六七分钟,时间过长,不知问题出在什么地方,请指正,谢谢!源程序如下:
For i = 1 To recCount '到old2.dbf中的最大记录数
'下面条件语句是限定字段不能空的情况
If datdbf.Recordset.Fields(stu_IDPos) <> vbNullString Then
tempstuID = datdbf.Recordset.Fields(stu_IDPos)
'下面的rs是指向new.mdb的Recordset对象
rs.Open "SELECT * FROM tblNew WHERE stu_ID='" & Trim(tempstuID) & "'"
'如果rs返回为空,即是新的stu_ID号,那么加一个新记录,其中Name字段是old1.dbf中没有的
If rs.BOF Or rs.EOF Then
rs.AddNew
rs.Fields("stu_ID") = Trim(tempstuID)
If datdbf.Recordset.Fields(NamePos) <> vbNullString Then
tempName = datdbf.Recordset.Fields(NamePos)
rs.Fields("Name") = Trim(tempName)
Else
rs.Fields("Name") = Trim("")
End If
rsGSDM.Update
'如果rs返回不为空,那么更新处理
Else
If datdbf.Recordset.Fields(NamePos) <> vbNullString Then
tempName = datdbf.Recordset.Fields(NamePos)
rs.Fields("Name") = Trim(tempName)
Else
rs.Fields("Name") = Trim("")
End If
rs.Update
End If
rs.Close '再次使用rs.open前的关闭
End If
datdbf.Recordset.MoveNext 'dbf库指针下移
Next i
<END>
26,有什么比较好的方法能连接到EXCEL表上面去
我想利用EXCEL表作为我的VB程序的数据源,但是由于使用平台的配置比较低,为了节省效率,我用ACCESS做了一个连接表连接到EXCEL文件上,然后用VB直接连接这个ACCESS连接表,但是只能打开21行数据,(一共有150行),如果我用ACCESS导入这个EXCEL文件,就能全部检索,,请问是为什么?,如果是微软内部的问题,我有什么比较好的方法能连接到EXCEL表上面去?具体怎么做?
<END>
27,出现unable to load file msdasql.dll to register it 的错误
我在WIN2000做了一个涉及到数据库调用的FTP程序,但在做成安装程序后在另外一个WIN98的平台上进行安装的时候,却碰到很多安装问题:
1。olepro32.dll、oleaut32.dll、stdole2.tlb出现写保护的提示,不能将此文件安装进去。
2。出现"unable to load file 'c:/program files/common files/system/OLEDB/msdasql.dll' to register it "的错误警告。
3。在以上按了忽略后,运行程序时出现“运行是错误‘429’,ACTIVEX部件不能创建对象。
请问该任何解决?
<END>
28,报错Violation of PRIMARY KEY constraint 表主键列如何设置错误陷阱来容错
我在VB中使用DataGrid与ADO控件与SQL Server相连(通过ODBC),我试图通过一个Textbox控件更新一个表中的列(该列设为主键),如果更新一个已存在的列值时,将会报错([Mircosofr][ODBC SQL Server Driver] [SQL Server]Violation of PRIMARY KEY constraint '表主键列'.
Cannot insert duplicate keyin object '表名')我不知道如何设置错误陷阱来容错,以屏蔽掉该错误消息出现,而替换为自己的错误提示??敬请各位高手指点,不胜感激!!!
<END>
29,实时错误无法为更新行集定位一些值可能已在最后读取后改变
我在打开一SQL数据库时,对其中的记录进行更新操作,同时希望更新相关表,大体操作如下(使用了触发器):
'设置连接方式
strdsn = "Provider=SQLOLEDB.1;User ID=SA;Persist Security Info=False;" & _
"Initial Catalog=" + Database_Name + ";Data Source=" + Server_Name
Set cnnDecsupt = New adodb.Connection
With cnnDecsupt
If .State = adStateOpen Then Exit Sub
.CursorLocation = adUseClient
.Open strdsn
.Errors.Clear
End With
' 打开记录
strSQL = "SELECT * FROM " + Table_员工档案
Set adoPrimaryRS = New Recordset
With adoPrimaryRS
If .State = adStateOpen Then
.Close
End If
Set .ActiveConnection = cnnDecsupt
.Source = strSQL
.CursorType = adOpenStatic
.CursorLocation = adUseClient
.LockType = adLockOptimistic 'adLockBatchOptimistic
'.MaxRecords = 0 '设置返回记录数量
.Open
End With
'更新记录
adoPrimaryRS.UpdateBatch adAffectAll
触发器如下:
CREATE TRIGGER TRI_PEOPEL ON [syn_员工档案]
FOR UPDATE
AS
begin
UPDATE [syn_照片档案]
SET [syn_照片档案].编号=INSERTED.编号
FROM INSERTED,DELETED
WHERE [syn_照片档案].编号=DELETED.编号
UPDATE [syn_个人简历]
SET [syn_个人简历].编号=INSERTED.编号
FROM INSERTED,DELETED
WHERE [syn_个人简历].编号=DELETED.编号
UPDATE [syn_家庭成员]
SET [syn_家庭成员].编号=INSERTED.编号
FROM INSERTED,DELETED
WHERE [syn_家庭成员].编号=DELETED.编号
UPDATE [syn_培训情况]
SET [syn_培训情况].编号=INSERTED.编号
FROM INSERTED,DELETED
WHERE [syn_培训情况].编号=DELETED.编号
UPDATE [syn_奖惩情况]
SET [syn_奖惩情况].编号=INSERTED.编号
FROM INSERTED,DELETED
WHERE [syn_奖惩情况].编号=DELETED.编号
UPDATE [syn_考评情况]
SET [syn_考评情况].编号=INSERTED.编号
FROM INSERTED,DELETED
WHERE [syn_考评情况].编号=DELETED.编号
UPDATE [syn_职称情况]
SET [syn_职称情况].编号=INSERTED.编号
FROM INSERTED,DELETED
WHERE [syn_职称情况].编号=DELETED.编号
UPDATE [syn_职务情况]
SET [syn_职务情况].编号=INSERTED.编号
FROM INSERTED,DELETED
WHERE [syn_职务情况].编号=DELETED.编号
UPDATE [syn_证书情况]
SET [syn_证书情况].编号=INSERTED.编号
FROM INSERTED,DELETED
WHERE [syn_证书情况].编号=DELETED.编号
END
问题:在相关表记录多条时,出现以下问题:实时错误:'-2147217864(80040e38)',无法为更新行集定位:一些值可能已在最后读取后改变。注:在去掉出发器后,无此问题。
<END>
30,如何做到TEST表中的所有字段都有TEXTBOX一一对应
我用VB6.0的ADO控件访问SQL2000SERVER里的个数据库的一张表TEST(该表的段为DATE,TIME,……,其中,DATE和TIME我设为主键),在界面中的TEXTBOX已经和该表的段绑定,ADO控件和服务器连接好,记录源已经连向TEST。现在我想做一个查询,首先询问要查询的DATE和TIME然后在TEST表中找到这一条记录,结果在TEXTBOX显示出来,TEST表中的所有字段在界面中都有一个TEXTBOX和它一一对应,请问如何做到这一点,我是刚刚学VB和SQL的,请多多执教!
<END>
31,在代码中如何设置CONNECTIONSTRING和RECORDSOURCE属性
在使用DATAGRID控件和ADODC控件连接显示数据库表中的内容时,需设置ADODC控件CONNECTIONSTRING和RECORDSOURCE属性,请问如果我不在属性框中设置,而在代码中程序设置其CONNECTIONSTRING和RECORDSOURCE属性就不行呢?
<END>
32,出错显示“无法启动应用程序,工作组信息文件丢失,或是已被其他用户已独占方式打开。”
我已设计好一个ACCESS应用程序,现在我要给ACCESS数据库加上密码,使用ADO建立连接并打开该数据库时,程序出错!程序源代码如下:
dim glb as adodb.connection
set glb =new adodb.connection
glb.ConnectionString= "Provider=Microsoft.Jet.OLEDB.4.0;Persist Security Info=False; Password=Psd;Data Source=filename.mdb
glb.Open
glb.CursorLocation = adUseClient glb.BeginTrans
glb.Execute "Update Polling Set Flag_Tx=NULL,Flag_alarm=NULL"
glb.CommitTrans
程序运行到glb.open时出错,显示“无法启动应用程序,工作组信息文件丢失,或是已被其他用户已独占方式打开。”请问该OPEN语句该这样写?
注:该ACCESS数据库安装在服务器上,要求多用户可同时使用!
<END>
33,当第一个用户update后第二个用户也update这时会出错
VB在用AdoRecordset处理数据库时,两个用户同时打开一条记录,或者说当第一个用户在update之前第二个用户打开了这条记录,那么当第一个用户update后,第二个用户也update,这时第二个用户的程序会出错,如果我希望第二个用户的修改将第一个用户的覆盖,我该怎么做?我是否能在Ado是指定以主键为查找对象来对更新数据库,这样就不会出现上面的问题了,如果能,我该怎么写?
<END>
34,出现了错误提示实时错误提供者不能导出参数信息没有调用SetParameterInfo
在VB6.0的"数据环境"中我设置了一个名为"PURCHASE"的COMMAND,此COMMAND是用SQL为基础的. 并且用一个字段对此COMMAND分组,然后以此COMMAND的分组为依据作了一个REPORT。随后我为了实现动态查询,比如将一个日期范围内的纪录选出来, 于是为PURCHASE的语句添加了两个参数PARAMETERS m_DAte_Fm date,m_Date_to date。然后当我在程序中设置了语句
Stock_ENV.commands("Purchase").parameters("m_date_fm").value=cdate(txt_Date_Fm)
运行时结果出现了错误提示:
实时错误,提供者不能导出参数信息,没有调用SetParameterInfo.
从调试的情况来看,就是程序中的设置参数置时出现以上错误,不知如何解决,请大侠指点!
另外向DATA REPORT添加参数的方法究竟是什么?怎样向DATA REPORT中添参数?
<END>
35,在用RDO编程中,如何使用代码连接数据库,不用windows的dsn注册
在用RDO编程中,如何使用代码连接数据库,不用windows的dsn注册。
例如:
服务器:jsyys
数据库:cc.mdb
用户名:head
登陆密码:无
数据库密码:123
还有:在RDO,ADO,DAO编程中,都有游标这个概念,游标到底是什么?
<END>
36,在可视化数据管理器中为什么打开表后会丢失第一个字段值
有一个VB6问题.access7.0 库一个,其中一个表table。在可视化数据管理器中为什么打开表后会丢失第一个字段值?
这样的事也发生在datagrid控件上。当我用adcmdtext对datagrid的数据源adodc1----"select * from table" 时发生的.无论如何总是没有第一个值,我禁止了datagrid 所有addnew edit update 等功能也无效。后来我不得不给出一列自动id避过第一列,但这只是权宜之计。有更好的办法吗?
<END>
37, 用vb6.0的ado控件会不会不能访问SQL Server 2000
请 问 用 vb6.0的 ado控 件 会 不 会 不 能 访 问 SQL Server 2000 。 就 像 不 能 访 问 access 2000建 立 的 数 据 库 一 样 。
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -