1,怎样做来确保数据的实时性
我最近在用VB6.0编写一个数据库管理软件,客户机为WIN98操作系统,服务器端为NT Server4.0+SQL Server2000,请问如何在多个用户访问同一个数据库时始终确保数据的同步,也就是说不管哪一个客户端程序往某个数据库中添加或删除记录,其它正在连接该数据库的客户端程序从数据库中读取的数据都应该是当前最后一次被更新过的数据,即数据必须是实时的,任何对该数据库中数据的更改都会立即反映到连接该数据库的其它客户端程序中,我知道用数据控件连接到数据库时可以利用其记录集的Refresh刷新方法对当前记录集进行刷新来获得最新的数据,但是我在程序中用的是ADO对象访问数据库,该对象的记录集中好象没有Refresh方法,请问专家我该怎样做来确保数据的实时性,最好不要在客户端专门编程来实现而由服务器端定时发回最新的数据 ,因为我怕会影响网络访问的速度,多谢!
<END> 
2,在NT服务器上注册网络中的SQL SERVER 服务器失败，提示为：access denied 
在NT服务器上SQL SERVER 7 ENTERPRISE MANAGER中注册网络中的SQL SERVER 服务器失败，提示为：access denied,当把client network unitilty 中默认网络协议由命名管道改为TCP/IP 时，提示：一般网络错误，请检查网络文档（general net error)。在VB中用ADO访问数据库遇到同样问题。请问这是如何造成的，该如何解决？我在做项目过程中遇到该问题，急待解决，谢谢！ 
<END>
3,对应用程序进行打包时能否SQL Server数据库文件也打进去 
我最近在用Visual Basic6.0 编写一个管理软件,客户端程序通过ADO对象从局域网访问数据库服务器,数据库采用的是SQL Server2000,客户机为WIN98操作系统,服务器为Windows NT Server4.0,请问在对应用程序进行打包时,能否象采用Access2000数据库时那样直接把数据库文件*.mdb和应用程序打包在一起制作成setup.exe安装程序然后刻在光盘中,用户运行setup.exe安装程序就可把数据库文件安装到应用程序所在目录中,据我所知,SQL Server的数据库文件好象不能象Access数据库文件那样只要随便复制到装有Access2000的机器上就可以用Access2000或者编写的相应数据库访问程序打开并读取和修改数据。如果这种方法行不通,请指教我该怎样制作安装程序,谢谢! 
<END>
4,多次操作后数据库文件尺寸大大增加 
假如在VB6.0中删除了10000条记录（或两个表）后，再添加10000条记录（或两个表），此时记录数（或表）的实际数量并未增加,但文件尺寸大大增加，多次操作后，文件尺寸巨大。请问如何使此文件不用压缩方法即能保持原大小？ 
<END>
5,如何用SQL存储图片，再用VB调用这些图片 
如何用SQL存储图片？？？再用VB调用这些图片？？？ 
<END>    
6,在VB中如何实现把当前库或表转换为另外一种数据库文件 
在VB中如何实现把当前库或表转换为另外一种数据库文件。例如把MY.MDB中的表MYTABLE1转换为EXCEL中的表或DBF文件。 
<END>     
7,存取过程使用了暂存的Table，当用VB打开的时候会提示对象已经关闭 
难题如下： 
    有存取过程如下： 
    create proc usp_calc_sex 
    as 
    create table #t_sex( 
     unit char(10) not null, 
     sex char(10) not null, 
     r_number int null) 
     
    declare @count1 int 
    declare @count2 int 
     
    declare @dept_code varchar(10) 
    declare @dept_name varchar(20) 
     
    declare cur_deptd cursor for 
     select dept_code,dept_name from t_dept WHERE dept_level = 1 order by dept_code 
    open cur_deptd 
    fetch cur_deptd into @dept_code,@dept_name 
    WHILE (@@fetch_status=0) 
    begin 
     select @dept_code = ltrim(rtrim(@dept_code)) +"%" 
     
     select @count1=count(*) from t_emp where leave_flag="N" and dept_code like @dept_code and sex="男" 
     select @count2=count(*) from t_emp where leave_flag="N" and dept_code like @dept_code and sex="女" 
     insert #t_sex values(@dept_name,"男",@count1) 
     insert #t_sex values(@dept_name,"女",@count2) 
     
     fetch cur_deptd into @dept_code,@dept_name 
    end 
    close cur_deptd 
    deallocate cur_deptd 
     
    select @count1=count(*) from t_emp where leave_flag="N" and sex="男" 
    select @count2=count(*) from t_emp where leave_flag="N" and sex="女" 
    insert #t_sex values(" 全公司","男",@count1) 
    insert #t_sex values(" 全公司","女",@count2) 
     
    select * from #t_sex 
    这样的存取过程返回的结果在VB6.0中如何让在DataGrid中显示？请仔细看一下存取过程，它使用了暂存的Table，当您用VB打开的时候，它会提示您对象已经关闭。 
<END>
8,ADO的RECORDSET的RECORDCOUNT属性总是为-1 
请问如何判断ADO的RECORDSET为空？用RECORDCOUNT属性好象无论空否，值总是为-1。 
<END>
9,VB打包时，ODBC的配置怎么安装 
用VB打包时，ODBC的配置怎么安装？ 
<END>    
10,如下错误：实时错误-2147217864（80040e38）无法为更新行为集定位 
在执行到第二个adoprimaryrs.update时，会产生如下错误：实时错误-2147217864（80040e38）无法为更新行为集定位：一些值可能已在最后读取后改变。巡更数据库时间为acess数据库，其中只有只有3个字段，分别为巡更员id(long)(顺序位置0)、巡更员信息（text）（顺序位置1）、是否有报警（boolean）（顺序位置2） 
     
    Option Explicit 
     
    Dim WithEvents adoPrimaryRS As Recordset 
    Dim mbChangedByCode As Boolean 
    Dim mvBookMark As Variant 
    Dim mbEditFlag As Boolean 
    Dim mbAddNewFlag As Boolean 
    Dim mbDataChanged As Boolean 
     
    Private Sub Form_Load() 
     Dim db As Connection 
     Set db = New Connection 
     db.CursorLocation = adUseClient 
     db.Open "PROVIDER=Microsoft.Jet.OLEDB.3.51;Data Source=E:\my program\emaptemp\xungeng.mdb;" 
     
     Set adoPrimaryRS = New Recordset 
     adoPrimaryRS.Open "select * from 巡更数据库时间", db, adOpenStatic, adLockOptimistic 
     adoPrimaryRS.AddNew 
     adoPrimaryRS!巡更id = 123 
     adoPrimaryRS.Update 
    ' adoPrimaryRS.EditMode 
     adoPrimaryRS(1) = "iuyiouy" 
     adoPrimaryRS.Update 
     Set grdDataGrid.DataSource = adoPrimaryRS 
     
     mbDataChanged = False 
    End Sub 
    水平: 刚入门 
<END>
11,如何将一个TXT文件转化成Access格式数据库中的表 
如何将一个TXT格式的文件转化成ACCESS格式数据库中的表? 
<END>
12,到其他机器安装均提示“未能找到提供者，可能未被正确安装”的出错 
问题：如下语句： 
    connStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\data.mdb;Jet OLEDB:database password=123456" 
    conn.Open connStr 
    s_sql = "Select xm,xh,nj,hh,dd from xmxxb order by id desc" 
    datxm.ConnectionString = connStr 
    datxm.CommandType = adCmdText 
    datxm.RecordSource = s_sql 
    datxm.CursorLocation = adUseClient 
    datxm.Refresh 
     
    当前的数据有15万条记录，但datagrid更新速度慢，需6秒时间才可以将datxm记录显示出来； 
    假如将上面的连接connStr修改为 connStr = "Provider=Microsoft.Jet.OLEDB.3.51;Data Source=" & App.Path & "\data;Jet OLEDB:database password=123456" 并且将datxm.CursorLocation修改为 datxm.CursorLocation = adUseServer，速度很快，只需0.7秒显示数据，但是打包后，到其他机器安装均提示“未能找到提供者，可能未被正确安装”的出错！ 
    请问怎样使用Jet.OLEDB.4.0 的情况下，可以提高datagrid(15万条记录)的显示速度。多谢！ 
<END>
13,通过ADO连接服务器上的数据库为什么不能成功 
我使用VB6和SQLSERVER7进行C/S编程,数据库在服务器端,我的编程是在客户机上进行,我想用ADO,从VB6连接服务器上的数据库。 
     简单的程序: 
     dim cn as adodb.connection 
     set cn =new adodb.connection 
     dim strCn as string 
     strCN="Provider=SQLOLEDB.1;UID=sa;PWD=;data Source=\\compserver\mssql7\data\comp.mdb" 
     cn.open strCN 
     
    使用以上方法，无法打开连接。 
<END>    
14,ADO中如何排序 
如果用ACSSESE97对一个表创建了一个索引，用VB的ADO对象打开RECORDSET时如何使用索引，是自动吗？如果一个表有好几个索引，如何在VB中分别使用？FOXBASE的索引有个INDEX文件，用哪个调哪个。很方便，在VB不知该怎么办，尤其我需要的是两个字段的索引，如日期和时间，先按日期排序再按时间排序。 
<END>
15,引用ADO就不能创建数据库和表了吗 
在VB6中如果引用DAO则可以创建一个数据库也可以创建数据表，而如果引用ADO却不存在database对象和TableDefs集合，难道引用ADO就不能创建数据库和表了吗？如果要在程序中创建数据库和表必须引用DAO吗？由于我在程序中对记录集的操作已经引用ADO编写了大量代码，如果创建数据表用ADO实现不了，在一个程序中 
    同时引用ADO和DAO是否有什么冲突？希望帮我解决这个疑问，谢谢！ 
<END>
16,如何关闭（断开）用ADO创建的数据库连接 
如何关闭（断开）用ADO创建的数据库连接？ 
    比如我已经用ADO连接到数据库，可是我想创建新的表（在同一个数据库），用DAO创建，系统提示"实时错误3356，数据库已经被＊＊＊用户以排它的方式打开，当数据库可用后再试一次"请指教？ 
<END>    
17,用ADO编写大型查询时经常出现超时已过期错误 
数据记录数:10万条左右 3个表连接查询。问题：我在用ADO编写一个大型查询时经常出现如下错误： 
    (对于较小的单表查询不会出现 ) 
    运行时错误： -2147217817 （ 80040231） 
    超时已过期 
    我尝试把CommandTimeout 的值改动，但仍很难解决这个问题，不知是否同SQL SERVER 6.5 的系统配置有关。望给予指 教！谢谢！！ 
    源程序代码如下： 
     Function Test() 
     Set ServerCNN = New ADODB.Connection 
     Set rsADO = New ADODB.Recordset 
     strCnn = pubStrCnn 
     ServerCNN.Mode = adModeReadWrite 
     ServerCNN.Open strCnn 
     ServerCNN.CommandTimeout = 30 
     
     
     pubStrYearDB = "N1999" 
     pubStrServerName = "baoxi" 
     pubStrCnn = " Provider=SQLOLEDB.1;Persi0st Security Info=False;User ID=sa;Initial Catalog=" & pubStrYearDB & ";Data Source=" & pubStrServerName 
     
     
     With rsADO 
     .ActiveConnection = strCnn 
     ''.CursorLocation = adUseClient 
     .CursorLocation = adUseClient 
     .LockType = adLockReadOnly 
     ''.LockType = adLockOptimistic 
     .CursorType = adOpenDynamic 
     End With 
     
     SQL_string =SELECT '成 品 编 号 '=(SUBSTRING(产 品 编 号 ,1,1)+DMHY.含 义 ), _ 
     '数 量 '=SUM(数 量 ) _ 
     from XSH,XSHZ,DMHY _ 
     where XSH.编 号 =XSHZ.编 号 _ 
     AND XSHZ.日 期 BETWEEN '1999-06-13' AND '1999-12-13' _ 
     AND XSHZ.专 卖 店 IN ('BX002','BZ001','CF001','CS01') _ 
     AND XSH.产 品 编 号 LIKE 'B%' _ 
     and dmhy.编 号 ='1' and dmhy.标 志 =substring(产 品 编 号 ,1,1) _ 
     and xshz.月 编 号 not like '%--%' _ 
     GROUP BY SUBSTRING(产 品 编 号 ,1,1)+dmhy.含 义 _ 
     ORDER BY 2 DESC 
     
     With rsADO 
     If .State = adStateOpen Then 
     .Close 
     End If 
     .Source = SQL_string 
     .Open 
     End With 
     End function 
<END>
18,将ACCESS库中表复制到SQL库中，ACCESS库设有密码时却无法通过 
我想将本地机上ACCESS库中一张表的内容复制到远端SQL库中。 
    方法如下： 
    首先用ADO和远程SQL库建立联接：设CN1为远端SQL库的激活联连，我要将本地ACCESS库(假设为D：\TEST\DB1.MDB)中的TAB5表中的内容复制到CN1联连中的TAB1库(两库数据结构完全相同) 
    现用如下语句： 
    cn1.Execute "insert into tab1 select * from " + "[;database=D:\test\db1.mdb].tab5" 
    能成功操作，但当本地ACCESS库设有密码时却无法通过，不知道 密码的具体写法是怎样的？
<END>
19,如何用ado recordset的sort 属性对字段按降序排列 
何用ado recordset的sort 属性对记录集的某个字段按降序排列？（最好有代码实例） 
<END>    
20,怎样查找多重条件的记录 
我看过很多关于查询的例子，比如用seek方法在一个表中查找name是“张三”的记录。我的问题是怎样查找多重条件的记录，比如说查找sex是“male”的，address是“北京”或“上海”的name是“张三”的记录。敬请指教，谢谢。 
<END>    
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,在可视化数据管理器中为什么打开表后会丢失第一个字段值 
有一个ＶＢ６问题.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建 立 的 数 据 库 一 样 。 
<END>    
38,恢复数据库db出错：Database in use 
我 想 在 VB中 备 份 和 恢 复 远 程 服 务 器 上 的 SQL Server数 据 库 DB,在 恢 复 数 据 库 时 ， 用 一 个 ADO控 件 连 上 DB， 读 取 以 前 的 备 份 信 息 到 数 据 帮 绑 定 控 件 DataGrid中 ， 当 用 户 在 datagrid中 选 定 要 恢 复 的 备 份 时 ， 再 用 下 面 语 句 恢 复 数 据 库 db出 错 ： 
    dim cn=ADODB.connection 
    cn.open "provider=sqloledb;data source=Server;initial _ catalog=db;uid=sa;pwd=;" 
    cn.execute "restore database db from disk='xxx.bak'" 
    出 错 信 息 为 :Database in use,The system administrator must have exclusive use of the database to run the restore operation 
    请 教 各 位 高 手 该 如 何 解 决 ? 
<END>
39,使用全局型的adodb.connection变量，是否妥当 
初 学 vb,看 了 一 个 外 国 人 写 的 程 序 vb60+access97， 他 在 用 ado连 接 数 据 库 时 使 用 了 一 个 全 局 型 的 adodb.connection变 量 ， 并 始 终 打 开 着 。 如 果 数 据 库 是 ms sql server 的 这 种 做 法 是 否 妥 当 呢 ， 是 否 浪 费 网 络 资 源 或 者 会 引 起 并 发 性 错 误 。 请 高 手 指 点 。 
<END>    
40,如何将access文件内容保存到文本文件中 
我 要 将 access文 件 内 容 保 存 到 文 本 文 件 中 ， 但 要 求 格 式 十 分 严 格 为 ： 
    aa |bb | cc | ss 
    s22 | ssd| s | ss 
    每 个 字 段 之 间 的 | 在 同 一 列 ， 我 试 了 一 些 方 法 ， 都 没 有 做 出 来 ， 请 高 手 指 点 。 
<END>
41,如何编程创建Access数据库并加上密码保护 
请 问 ， 如 何 编 程 创 建 Access数 据 库 并 加 上 密 码 保 护 ？ 急 切 需 要 ！ 多 谢 帮 助 ！ 
<END>
42,用什么语言做一个自动出题判分的系统 
我 要 做 一 个 自 动 出 题 判 分 的 系 统 
    要 求 ： 系 统 有 100题 ， 考 试 或 练 习 均 随 机 抽 20题 ， 考 试 要 登 记 考 生 资 料 ， 练 习 时 有 帮 助 选 项 。 我 不 知 到 底 用 什 么 语 言 做 ， 怎 么 做 ？ 
<END>
43,如何用表格存放程序中待打印对象（内存变量名或表达式），如何打印呢 
我 用 一 个 表 格 存 放 程 序 中 待 打 印 对 象 （ 内 存 变 量 名 或 表 达 式 ） 和 打 印 的 位 置 X、 Y值 ， 用 ADO方 法 将 表 数 据 读 入 到 一 个 记 录 集 中 ， 但 如 何 打 印 呢 ？ 
    PRINTER.CURRENTX=RS.FIELDS("X") 
    PRINTER.CURRENTY=RS.FIELDS("Y") 
    PRINTER.PRINT RS.FIELDS("ITEM")‘ ????? 
    注 意 :字 段 ITEM中 可 能 是 内 存 变 量 名 也 可 能 是 内 存 变 量 及 常 量 构 成 的 表 达 式 。 
<END
44,一个基于access的程序，刚启动发生'3633'的错误而停止运行
我编了一个基于access的程序.经编译后,在本机上工作正常(有microsoft access 2000),但在另一台机器上(win98,无microsoft access2000)运行时,刚启动发生'3633'的错误而停止运行。本程序已经打包建立了安装程序。 
<END>
45,要连到sql Server， Crystal Report控件的connect属性如何设置 
vb代 码 中 ， 要 连 到 sql Server， Crystal Report控 件 的 connect属 性 如 何 设 置 ？ 
<END>    
46,如何用ADO修改链接表的路径 
请 问 如 何 用 ADO修 改 链 接 表 的 路 径 ？ 谢 谢 ！ ！ ！ 
<END>    
47,怎样在主窗体载入时，同时链接上SERVER端的ACCESS数据库 
怎 样 在 主 窗 体 载 入 时 ， 同 时 链 接 上 SERVER端 的 ACCESS数 据 库 ABC,代 码 怎 样 ?
<END>
48,使用SQL Server中的字段作为Combo控件的项目列表 
请 教 专 家 ， 能 不 能 使 用 SQL Server中 已 经 规 定 好 的 字 段 作 为 VB6中 Combo控 件 的 项 目 列 表 ？ 或 者 使 用 其 他 方 法 使 Combo控 件 中 列 表 内 容 成 为 动 态 的 ？ 
<END>    
49,在运行该程序时如何检测与sql server是否能够连接 
有 一 个 需 要 与 服 务 器 sql server连 接 的 程 序 ， 我 希 望 能 够 在 运 行 该 程 序 时 首 先 检 测 与 sql server是 否 能 够 连 接 ， 并 根 据 返 回 值 判 断 程 序 是 否 继 续 运 行 ， 请 问 专 家 ， 应 该 怎 样 解 决 ？ 
<END>    
50,使用oracle数据库，经常出现超过最大进程数 
如 何 解 决 ： 用 户 超 过 最 大 进 程 数 问 题 。 在 UNIX操 作 系 统 中 ， 使 用 oracle数 据 库 ， 客 户 端 使 用 vb6.0编 程 ， 经 常 出 现 超 过 最 大 进 程 数 ， 修 改 初 始 化 文 件 中 的 processes参 数 后 ， 应 用 程 序 出 现 “ 瞬 间 错 误 IPC” 。 
<END>    
51,如何用ADO连接网上邻居的一台计算机的ACCESS数据库 
如 何 用 ADO连 接 网 上 邻 居 的 一 台 计 算 机 的 ACCESS数 据 库 。 要 用 非 dsn连 接 。 
<END>    
52,在vb中如何调用存储过程并将结果用datagrid显示出来 
在 vb中 如 何 用 代 码 实 现 调 用 存 储 过 程 并 将 结 果 用 datagrid显 示 出 来 ？ 
<END>     
53,实时错误[Microsoft][ODBC 驱动程序管理器]未发现数据源名称并且未指定默认驱动程序 
Dim conn As ADODB.Connection 
    Dim rdst As ADODB.Recordset 
     Set conn = New ADODB.Connection 
     Set rdst = New ADODB.Recordset 
     conn.ConnectionString = "driver={Microsoft Access Driver(*.mdb)};" & 
    "DBQ=" & "d:\database\phone.mdb" 
     conn.Open 
     rdst.Open "select * from phone", cnn 
     MsgBox rdst!电 话 
    在 我 运 行 后 ， 出 现 错 误 提 示 信 息 ： 实 时 错 误 ‘ -2147467259[Microsoft][ODBC 驱 动 程 序 管 理 器 ]未 发 现 数 据 源 名 称 并 且 未 指 定 默 认 驱 动 程 序 。 
<END>
54,VB 5.0出现错误信息Couldn't find installable ISAM 
我 在 实 验 “在VB中如何实现把当前库或表转换为另外一种数据库文件”时 ， 出 现 以 下 出 错 信 息 ： 
    实 时 错 误 ： 3170 
    Couldn't find installable ISAM 
    第 一 次 出 现 后 ， 我 重 新 安 装 vb6， 并 选 数 据 访 问 中 的 ISAM驱 动 程 序 。 再 次 运 行 程 序 ， 问 题 依 旧 。 请 问 ： ISAM驱 动 程 序 是 哪 些 文 件 ？ 上 述 问 题 我 该 怎 么 办 ？ 
<END>
55,能否使用ADO生成SQL7.0的表和字段 
能否使用ADO生成SQL7.0的表和字段?如果不能,是否有其他方法在VB6.0中生成SQL7.0的表和字段?记得DAO中能生成,但烦?请指教,谢谢! 
<END>
56,如何创建数据库的表格 
如 何 创 建 数 据 库 的 表 格 ， 各 个 字 段 名 是 由 用 户 在 程 序 运 行 时 输 入 ？ 我 看 到 书 上 介 绍 用 Create table子 句 创 建 数 据 库 表 格 可 以 实 现 但 由 于 介 绍 得 过 于 简 略 ， 所 以 我 还 是 不 会 ， 只 有 请 教 高 手 ， 多 谢 多 谢 ！ 
<END>    
57,如何把SQL SERVER数据库移到本地WINDOWS98工作站上 
本 人 在 用 VB、 SQL SERVER编 程 时 ， 只 能 连 结 SQL SERVER服 务 器 才 可 以 进 行 ， 请 问 如 何 能 脱 离 服 务 器 ， 把 SQL SERVER数 据 库 移 到 本 地 WINDOWS98工 作 站 上 编 写 程 序 。 
<END>
58,怎样用ado在不同类型库中进行数据交换 
怎 样 用 ado在 不 同 类 型 库 (如 access 与 sql6.5)中 进 行 数 据 交 换 ？ 
<END>    
59,如何能够提高调用ADO数据库的速度 
在 使 用 ADO调 入 数 据 时 特 别 慢 ， 怎 么 回 事 ？ 我 在 使 用 ADO时 ， 发 现 调 入 数 据 时 特 别 慢 ， 具 体 情 况 如 下 ： 
    数 据 库 ： 使 用 ACCESS数 据 库 ， 有 50个 字 段 五 万 条 记 录 ， 用 ODBC方 法 调 用 ； 
    ADO： 使 用 ADO控 件 ， 用 adUseServer光 标 ， 控 件 使 用 datagrid 
    问 题 ： 如 果 不 使 用 datagrid， 在 调 用 数 据 库 时 速 度 很 快 ， 但 使 用 datagrid后 速 度 变 得 无 法 忍 受 。 请 教 ： 如 何 能 够 提 高 调 用 数 据 库 的 速 度 ？ 
<END>
60,储存图形在数据库中文件太大怎么办 
用vb中的picture控件的line在picture控件中绘制完图形后，把图形放在和该控件相连接的ACCESS数据库中的一个字段中（字段定义类型为OLE），这样做数据库所占用磁盘空间很大，不知怎样做，才能使其占用很小的存储空间。 
<END>
61,有没有一种方法，一次插入所有的记录 
一 个 困 扰 我 多 时 的 问 题 ： 
    本 地 的 ACCESS数 据 库 (数 据 源 )用 ADO传 送 到 远 程 的 SQL Server7.0数 据 库 (目 标 库 )。 
    由 于 是 一 条 一 条 的 更 新 ， 算 法 太 烂 ， 每 分 钟 只 能 传 送 500条 记 录 ， 不 能 满 足 要 求 。 
    有 没 有 一 种 方 法 ， 一 次 插 入 所 有 的 记 录 ？ 
    源 代 码 如 下 ： 
    Public Sub SendRecord() 
     Dim cnn0 As ADODB.Connection 
    ' 本 地 的 ACCESS数 据 库 (数 据 源 ) 
     Dim cnn1 As ADODB.Connection 
     ' 远 程 的 SQL Server7.0数 据 库 (目 标 库 ) 
     
     Dim rst0 As ADODB.Recordset 
     Dim rst1 As ADODB.Recordset 
     
     Dim strCnn As String 
     
     ' 打 开 数 据 源 连 接 。 
     Set cnn0 = New ADODB.Connection 
     strCnn = "数 据 源 " ' 已 建 立 DSN为 "数 据 源 "的 ODBC 
     cnn0.Open strCnn 
     
     
     ' 打 开 目 标 库 连 接 。 
     Set cnn1 = New ADODB.Connection 
     strCnn = "Provider=sqloledb;Data Source=srv;Initial Catalog=pubs;User Id=sa;Password=8848;" 
     cnn1.Open strCnn 
     
     ' 打 开 数 据 源 表 。 
     Set rst0 = New ADODB.Recordset 
     rst0.CursorType = adOpenKeyset 
     rst0.LockType = adLockOptimistic 
     rst0.Open "数 据 源 表 ", cnn1, , , adCmdTable 
     
     ' 打 开 目 标 表 。 
     Set rst1 = New ADODB.Recordset 
     rst1.CursorType = adOpenKeyset 
     rst1.LockType = adLockOptimistic 
     rst1.Open "目 标 表 ", cnn1, , , adCmdTable 
     
     rst0.Movefirst 
     do until rst0.EOF 
     rst1.AddNew 
     rst1!emp_id = rst0!emp_id 
     rst1!fname = rst0!fname 
     rst1!lname = rst0!lname 
     rst1.Update 
     rst0.Movenext 
     loop 
     
     rst1.Close 
     cnn1.Close 
     
     rst0.Close 
     cnn0.Close 
     
    End Sub 
<END>
62, 如何实现将EXCEL表中的数据自动存储进SQLSERVER数据库中    
用 VB如 何 实 现 将 EXCEL表 中 的 数 据 自 动 存 储 进 SQLSERVER数 据 库 中 ， 而 不 必 先 在 SQLSERVER中 建 好 表 ? 
<END>
63,对记录做修改及删除时提示：键列信息不足或不正确，更新影响到更多的行 
我 在 编 写 一 个 ADO+SQL的 数 据 库 程 序 时 ， 添 加 了 几 条 记 录 ， 后 对 这 几 条 记 录 做 修 改 及 删 除 时 提 示 ： 键 列 信 息 不 足 或 不 正 确 ， 更 新 影 响 到 更 多 的 行 。 致 使 操 作 无 法 进 行 ， 直 接 用 SQL打 开 数 据 表 ， 发 现 本 来 只 修 改 了 一 条 记 录 的 一 个 字 段 ， 结 果 是 这 几 条 记 录 的 同 一 字 段 都 被 改 为 同 一 数 值 ， 好 象 这 几 条 记 录 是 一 条 记 录 一 样 ， 改 一 条 全 部 改 ， 删 除 一 条 ， 也 全 部 删 除 。 不 知 何 故 ， 盼 解 答 。 
    另 ； 我 用 的 是 VB6.0 SP4(Win98 se)+MSSQL7.0(Win2000 Server) 
    附 相 关 主 要 代 码 ： 
    '连 接 数 据 库 
     conn = "Driver={SQL server};Server=server-a;Uid=aa;Pwd=123" 
     
     With Adodc1 
     .ConnectionString = conn 
     .CursorType = adOpenDynamic 
     .CommandType = adCmdText 
     .RecordSource = "SELECT * FROM Input" 
     .Refresh 
     End With 
     
    '添 加 数 据 
     
    With Adodc1.Recordset 
     .AddNew 
     !到 港 时 间 = Format("2000-10-10", "YYYY-M-D") 
     !船 务 公 司 = "adsad" 
     !船 名 = "adsad" 
     !货 主 = "adsad" 
     !提 单 号 = "adsad" 
     !货 物 名 称 = "adsad" 
     !数 量 = "adsad" 
     !计 费 吨 = "adsad" 
     .Update 
    End With 
<END>
64,如何用VB打开一个Access数据库查看一个表里的内容 
请 问 如 何 用 VB打 开 一 个 Access数 据 库 查 看 一 个 表 里 的 内 容 ? 
<END>
65,能否用VB的ADO的方法访问Excel文件 
能 否 用 VB的 ADO的 方 法 访 问 Excel文 件 ,如 果 能 该 怎 样 实 现 ？ 
<END>      
66,如何把变量值付给表中指定记录中的字段 
在 vb中 ,如 何 把 变 量 值 付 给 表 中 指 定 记 录 中 的 字 段 ？ 我 用 的 是 vb6.0中 的 access数 据 库 。 
<END>    
67,有什么方法用VB将声音文件加入到数据库 
有 什 么 方 法 用 VB将 声 音 文 件 加 入 到 数 据 库 ， 并 读 出 进 行 播 放 ？ 
<END>