前面的定义及声明免了,SQL数据库用户名sa 密码1;
第一种
连接 SQL SERVER 数据库
 cn1.ConnectionString = "Driver={SQL Server};SERVER=SQL服务器名;DATABASE=数据库名;UID=sa;PWD=1"
 cn1.Open
打开记录
     rs.open sql语句,cn1,adOpenDynamic, adLockOptimistic第二种
  sql="Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa; password=1;Initial Catalog=数据库名;Data Source=SQL服务器名"
  cn2.Open sql
打开记录
  rs2.Open 数据库中的表名, Cn2
几个问题?
Provider=SQLOLEDB.1 ------打开数据库用oledb的方式连接,这个.1不知道什么意思?··········问题1
Persist Security Info ----是否保存安全信息,true or false
User ID-------------------用户名,一般为sa,也可新建数据库用户
PassWord------------------密码
Initial Catalog-----------数据库的名称,能否填数据库ip或者目录(局域网络访问时)?········问题2
Data Source---------------数据源,填sql服务器名,可以填ip吗?(网络访问怎么设置,问题同上这2个地方怎么搞)···················································问题3第三种和第二种差不多,就是Provider=SQLOLEDB;去掉了.1,对打开记录的方法有改变吗?·········问题4最想弄懂的问题(开贴原因)
问题5、第一种是不使用ODBC数据源的连接方式,二、三都是基于com模型的数据库访问接口OLEDB,并可访问其他类型的数据,如Access、Oracle、Excel等。问题是:除了这些区别,这3种方法还有其他的差异吗?比如访问速度、其他限制,使用范围等?
问题6、在前面的打开记录代码中,rs.open的后面,一般是跟sql语句,我在有些代码中看到了直接跟 数据库中的表名,我想问的是:这几种方法是否都可以直接跟表名?那么rs的记录就是不是该表的全部信息,相当于select * from 表6个问题,有点多啊!还请各位高人指教。

解决方案 »

  1.   

    第一种连接方式是Microsoft SQL Server ODBC Driver,也就用是ODBC驱动...
    第二种连接方式是Microsoft OLE DB Provider for SQL Server,OLE DB是一种访问数据源的接口,但不是所有的数据源都支持OLE DB,还有跨平台应用等等,所以很多时候会用到ODBC....
    二种方式的效率差别多少不清楚,我个人倾向于尽可能的用OLE DB.....
    SQLOLEDB.1应该是版本问题,自己实践看来有没有.1似乎没什么影响,官方的一些示例中也不是都加.1...
    Persist Security Info ----是否保存安全信息,true or false  。 这个你可以分别设置后自己测试,连接成功后再输出connectionstring,一看就知道什么区别了...
    Initial Catalog对于SQL数据库来说,只能是数据库实例名称
    Data Source 可以是服务器名称也可以是服务器IP,用什么要看你在SQL的客户端网络实用工具中启用的相关协议....
    打开记录集最好是用查询语句,并尽可能的少返回数据,这是无论是效率还是实用性,都要求这样,用表名返回表中全部数据,不说效率低下,而且没必要,试想一下你表中成千上万的数据一次返回,有什么作用?浏览操作都不方便....
      

  2.   

    http://download.csdn.net/source/1421188
    http://download.csdn.net/source/1627068