⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 index1.txt

📁 VB技巧问答10000例 VB技巧问答10000例
💻 TXT
📖 第 1 页 / 共 3 页
字号:
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 + -