现在在自学vb数据库编程,学了vb,也学了sql server 2000,就是在怎么连接这里卡住了,我买的书这里讲的很差劲,上网也没什么资料,我就是想学怎么用ado连接sql server 2000,最好是要有实例的,不要连什么access的,也不要什么RDO的,我现在用不到。 其实我感觉我现在的问题很容易,但就是没有什么人教我怎么做。我现在为这个问题都快抓狂了。大家有什么教程可以发给我,有什么书也可以推荐下。

解决方案 »

  1.   

    http://www.connectionstrings.com/?carrier=sqlserver
      

  2.   

    自己多尝试、多练习,先用ADO控件我就是在瞎捣鼓中学会的,不过倒也捣鼓了几个还看得过去的程序说实在很多VB的书在数据库方面讲得都不怎样,而且不少都是直连Access
      

  3.   

    我来给你发一些吧,呵呵
    数据库连接方式
    一、SQL Server1.ODBC(1)标准连接Driver={SQL Server};Server=服务器名;Database=数据库名;Uid=用户名;Pwd=密码;(注:汉字部分根据你的实际情况写入字符,下同)当服务器为本地时,Server可以按通用写法:Driver={SQL Server};Server=(local);Database=数据库名;Uid=用户名;Pwd=密码;当连接远程服务器时,需指定地址、端口号和网络库,也可以直接采用域名,例如:Driver={SQL Server};Server=220.110.2.180;Address=220.110.2.180,1435; Network=dbmssocn;Database=数据库名;Uid=用户名;Pwd=密码;(2)信任连接Driver={SQL Server};Server=服务器名;Database=数据库名;Trusted_Connection=yes;2.OLEDB,OleDbConnection(.NET)(1)标准连接Provider=sqloledb;Data Source=服务器名;Initial Catalog=数据库名;UserId=用户名;Password=密码;(2)信任连接Provider=sqloledb;Data Source=服务器名;Initial Catalog=数据库名;Integrated Security=SSPI;如果连接一个具体的已命名的SQL Server实例,则使用Data Source=服务器名\实例名;(仅适用于SQL Server2000)(3)通过IP地址连接,例句:Provider=sqloledb;Data Source=192.168.2.1,1433;Network Library=DBMSSOCN;Initial Catalog=数据库名;UserId=用户名;Password=密码;3.SqlConnection(.NET)(1)标准连接Data Source=服务器名;Initial Catalog=数据库名;User Id=用户名;Password=密码;或:Server=服务器名;Database=数据库名;User Id=用户名;Password=密码;Trusted_Connection=False;(2)信任连接Data Source=服务器名;Initial Catalog=数据库名;Integrated Security=SSPI;或:Server=服务器名;Database=数据库名;Trusted_Connection=True;(3)通过IP地址连接,例句:Data Source=192.168.1.2,1433;Network Library=DBMSSOCN;Initial Catalog=数据库名;User Id=用户名;Password=密码;(4)SqlConnection连接的声明C#:using System.Data.SqlClientSqlConnection SQLConn=new SqlConnection()SQLConn.ConnectionString="my ConnectionString"SQLConn.Open()VB.NET:Imports System.Data.SqlClientDim SQLConn AS SqlConnection =new SqlConnection()SQLConn.ConnectionString="my ConnectionString"SQLConn.Open()(5)Data ShapeProvider=MSDataShape;Data Provider=sqloledb;Data Source=服务器名;Initial Catalog=数据库名;UserId=用户名;Password=密码;(6)定义网络协议 名称 网络协议库 dbnmpntw Win32 Named Pipes dbmssocn Win32 Winsock TCP/IP dbmsspxn Win32 SPX/IPX dbmsvinn Win32 Banyan Vines dbmsrpcnWin32 Multi-Protocol(Windows RPC)二、Oracle1.ODBC(1)新版本Driver={Microsoft ODBC for Oracle};Server=OracleServer.world;Uid=Username;Pwd=myPassword;(2)旧版本Driver={Microsoft ODBC Driver for Oracle};ConnectString=OracleServer.world;Uid=Username;Pwd=myPassword;2.OLEDB,OleDbConnection(.NET)(1) 标准连接Microsoft格式:Provider=msdaora;Data Source=MyOracleDB;User Id=UserName;Password=myPassword;Oracle格式:Provider=OraOLEDB.Oracle;Data Source=MyOracleDB;User Id=UserName;Password=myPassword;(2)信任连接Provider=OraOLEDB.Oracle;Data Source=MyOracleDB;OSAuthent=1;或者Provider=OraOLEDB.Oracle;Data Source=MyOracleDB;User Id=/;Password=;3.OracleConnection(.NET)(1)标准连接Data Source=Oracle8i;Integrated Security=yes;这只对Oracle 8i release3或更高版本有效。(2)OracleConnection声明C#:using System.Data.OracleClient;OracleConnection OracleConn=new OracleConnection();OracleConn.ConnectionString="my connectionstring";OracleConn.Open();VB.NET:Imports System.Data.OracleClientDim OracleConn As OracleConnection=New OracleConnection()OracleConn.ConnectionString="my connectionstring"OracleConn.Open()(3)Data ShapeMS Data Shape:Provider=MSDataShape.1;Persist Security Info=False;Data Provider=MSDAORA;Data Source=orac;User Id=username;Password=mypw;
      

  4.   

    袖珍数据库连接方式查询手册  下面的资料是平时使用到的一些数据库连接方式,可能不太全,但是可以用来当做资料查询,希望能够帮上大家的忙。
      下面将简单介绍一下几种ADO连接方式:ODBC DSN,ODBC DSN-Less, OLE DB Provider,和"MS Remote" Provider. I.DSN
      oConn.Open "DSN=AdvWorks; UID=Admin; PWD=;"
      注意:从MDAC2.1开始就不能够在使用这样的方式了,就是只把DSN文件名放在ConnectString中。你必须同时使用DSN,UID,PWD标志。例如下面的方式在MDAC 2.1中将会出错:oConn.Open "AdvWorks" II.File DSN
      oConn.Open "FILEDSN=\somepath\mydb.dsn; UID=Admin; PWD=;" III.ODBC DSN-Less Connections
      a)ODBC Text Driver
       oConn.Open "Driver={Microsoft Text Driver (*.txt; *.csv)}; Dbq=\somepath\;" & _
        "Extensions=asc,csv,tab,txt; Persist Security Info=False"
      注意:需要在SQL语句中指定使用到的文件名。例如:
       oRs.Open "Select * From customer.csv", oConn, adOpenStatic, adLockReadOnly, adCmdText  b)ODBC Driver for Access
       i)普通安全模式:
        oConn.Open "Driver={Microsoft Access Driver (*.mdb)};" & _ 
         "Dbq=\somepath\mydb.mdb; Uid=Admin; Pwd=;"   ii)如果使用了System database:
        oConn.Open "Driver={Microsoft Access Driver (*.mdb)};" & _ 
         "Dbq=\somepath\mydb.mdb; SystemDB=\somepath\mydb.mdw;", "admin", ""  c)ODBC Driver for SQL Server
       i)普通安全模式
        oConn.Open "Driver={SQL Server}; Server=carl2;" & _
         "Database=pubs; Uid=sa; Pwd=;"   ii)使用信任安全模式:
        oConn.Open "Driver={SQL Server}; Server=carl2;" & _
         "Database=pubs; Uid=; Pwd=;"  注意:要使用空白的Uid和Pwd   d)ODBC Driver for Oracle
       i)使用现有的Oracle ODBC Driver from Microsoft:
        oConn.Open "Driver={Microsoft ODBC for Oracle};" & _
         "Server=OracleServer.world; Uid=demo; Pwd=demo;"   ii)使用老版本的Oracle ODBC Driver from Microsoft:
        oConn.Open "Driver={Microsoft ODBC Driver for Oracle};" & _
         "ConnectString=OracleServer.world; Uid=demo; Pwd=demo;"
     IV)使用微软的OLE DB Data Link Connections方式Data Link File (UDL)
      a)使用绝对路径
       oConn.Open "File Name=\somepath\pubs.udl;"   b)使用相对路径
       oConn.Open "File Name=pubs.udl;"
      

  5.   

    recordset的用法语法
    1.基本语法:
    Set Rs = Server.CreateObject("ADODB.Recordset")
    Rs.Open Source, ActiveConnection, CursorType, LockType, Options2.参数:
    Source 选择性参数:
      此 Variant 是为一个有效的 Command 对象变量名称、SQL 陈述式、数据表名称、已存的过程调用,或是一个保存的 Recordset 的檔名。
    ActiveConnection 选择性参数:
      不是 Variant 得到一个有效的 Connection 对象变量名称,就是 String 包含 ConnectionString 参数。
    CursorType 选择性参数:
      此 CursorTypeEnum 值决定提供者在开启 Recordset 时应使用的指标类型。其可以是下列其中一种常数。3.常数说明:
    adOpenForwardOnly:开启一个顺向数据指针。(预设)
    AdOpenKeyset:开启一个索引键集 (keyset-type) 数据指针。
    AdOpenDynamic:开启一个动态数据指针。
    AdOpenStatic:开启一个静态数据指针。
    LockType 选择性参数:
      此 LockTypeEnum 值决定提供者在开启 Recordset 时应使用何种锁定 (同时性)。其可以是下列其中一种常数。
    常数说明:
    adLockReadOnly:只读,数据无法变更。(预设)
    AdLockPessimistic:悲观锁定,提供者会进行必要的动作以确保能顺利编辑数据录,其方法通常是在编辑时立即在数据源处锁定数据录。
    AdLockOptimistic:乐观锁定,提供者使用乐观性锁定,当您呼叫 Update 方法时,仅锁定数据录。
    AdLockBatchOptimistic:乐观批次更新,此为批次更新模式所需,与实时更新模式相反。Options 选择性参数:
      一个 Long 值,表示提供者在 Source 自变量代表 Command 对象以外的东西时应如何评估它,否则 Recordset 应从前次储存的档案还原
    。它可以是下列其中一种常数。常数说明:
    adCmdText:提供者会将 Source 评估为指令的文字定义。
    AdCmdTable:ADO 会产生一个 SQL 查询,从 Source 中指定的数据表传回所有数据列。
    AdCmdTableDirect:提供者会从 Source 中指定的数据表传回所有数据列。
    AdCmdStoredProc:提供者会将 Source 评估为一个预存程序。
    AdCmdUnknown:Source 自变量中未知的指令类型。
    AdCommandFile:保留的 (已储存的) Recordset 会从 Source 中指定的档案还原。
    AdExecuteAsync:Source 作异步执行。
    AdFetchAsync:表示在 CacheSize 属性中指定的初始数量被抓取后,剩下的数据列就会被异步地抓取。
    4.应用函数:
    RecordSet.BOF            判断指标是否超过最前面
    RecordSet.EOF             判断指标是否超过最后面
    RecordSet.MoveFirst       将数据录指针移至第一笔
    RecordSet.MoveLast       将数据录指针移至最后一笔
    RecordSet.MoveNext       将数据指针往后移一笔
    RecordSet.MovePrevious       将数据指针往前移一笔
    RecordSet.Fields.Count       传回Recordset中的字段数
    RecordSet(i).Name             传回Recordset中第i个字段的名称
    RecordSet.RecordCount       传回Recordset中资料录的笔数
    RecordSet("字段名称")       传回指定字段名称的数据内容
    RecordSet(i)                   传回RecordSet中的第i个字段数据
    RecordSet.Fields(i).DefinedSize             传回RecordSet中的第i个字段数据域位长度
    RecordSet.Fields(i).Type             传回RecordSet中的第i个字段数据域位数据型别
    RecordSet.BookMark   传回设定的书签以储存现在纪录的位置。RecordSet.AbsolutePostition 将指标移至RecordSet中的某一笔数据上
    RecordSet.PageSize             设定每页显示的资料笔数
    RecordSet.PageCount           传回分页后的总页数
    RecordSet.AbsolutePage             传回目前所在的页数
    RecordSet.AddNew             新增数据至数据表中
    RecordSet.Update             更新目前这笔资料
    RecordSet.Delete             删除目前这笔资料
    RecordSet.Find             寻找数据值
    RecordSet.GetRows             可将Recordset中的数据储存至数组中
    RecordSet.Sort             可将Recordset中的数据排序
    对于Connection对象的Execute方法产生的记录集对象,一般是一个只读并且只向前的记录集。
    如果需要对记录集进行操作,譬如修改和增加,则需要用一个Recordset对象并正确设置好CursorType和LockType为适当类型,然后调用Open方
    法打开,如:
    Dim Rs As New adodb.Recordset
    with rs
    .Source="select col1,col2 from table1 where keyword='" & keyword & "'"
    .CursorType= adOpenDynamic
    .LockType= adLockOptimistic
    .Open ,Cnn                //Cnn是连接对象,也可以用连接字符串代替
    .addnew
    .fields(0).value=newvalue1
    .fields(1).value=newvalue2
    .Update '修改记录操作
    end with
    这样操作就对了。另外,如果想查询数据库,可以直接执行SQL的select语句,而不要遍历recordset
      

  6.   

    你多看一些ado连接数据库(sql server)的知识,然后再多做练习网上有关于怎么连接的
    你搜一下 ado连接数据库大全
      

  7.   

    你可以直接用ADO控件,里面有图形界面
      

  8.   

    引用 Microsoft ActiveX Object2.5 Library Dim Cn as new adodb.connection
    Dim Rs as new adodb.RecordsetCn.CursorLocation = adUseClient
    Cn.connectionstring="Provider=sqloledb;Data Source=服务器名;Initial Catalog=数据库名;UserId=用户名;Password=密码;"
    Cn.Openrs.open "Select * from 表名",cn, adOpenKeyset, adLockPessimisticif not rs.eof then 
         textr1.text=rs(0)  '--纪录集中的第一列
    end if等等,楼主自己发挥吧
      

  9.   

    理论脱离实际是没有用的,但是光有实际没有理论也是不会进步的,我觉得你理论还是学得不够,否则不会被这么容易的问题难倒,你也没有好好在网上找东西,光CSDN社区里关于连接数据库的问题就不知道讨论过多少次了
      

  10.   

    我都把ado的中文帮助看完了,可还是什么都不会。
      

  11.   

    xiaoyingzhecheng() 
    自己不桶活是不行的。
    现成的代码你调试。一定要自己动手的,不成功没关系,在来吗,至少知道一种情况是不行的。
    dim Rs As New ADODB.Recordset
    dim Cn As New ADODB.Connection
    Cn.open"Provider=SQLOLEDB.1;Password=123;Persist Security Info=True;User ID=sa;Initial Catalog=数据库名;Data Source=服务器名"
    rs.open"select * from 表名",Cn,3,3
    debug.print rs(0).Value
    看看在debug窗口里输出数据库里的东西没  要是有那你就庆祝把。你成功了如果没有就接着调试.很有意思的。还有好好看看datou985(^\会急转弯儿的猪/^)贴的东西。你肯定是没好好看.要不你就能弄出来了.
      

  12.   

    先引用microsoft activex data object 2.x library
    某个按钮下面代码如下:
    Dim db As New ADODB.Connection
    Dim rec As New ADODB.Recordset
    'database=你的数据库名字
    db.Open "driver={SQL Server};server=(local);uid=sa;pwd=;database=lqfxvb70"
    rec.Open "select * from b_storeinfo order by id", db, adOpenDynamic, dLockOptimistic
    Dim i As Long
    Do While Not rec.EOF
        debug.print rec.field(0)
        rec.MoveNext
    Loop
    rec.Close
    db.Close
    Set rec = Nothing
    Set db = Nothing