我在做数据库程序,不想用bde和odbc 
请给出手写代码,以便我能连上access 、excel 、ms sql server、
sybase、oracle 比如像下面这样:
Aconnection.open('Driver={Microsoft Access Driver (*.mdb)};DBQ=c:\leberty\Toacc');我发现有很多种手写方式,感觉很乱。有没有真明白的高手给俺讲讲?

解决方案 »

  1.   

    以下為我LOGIN生成CONNECTSTRING時的代碼:
    function TfmUserLogin.GenConnectString:Boolean;
    begin
     with MainForm.ADOConnection1 do
     begin
      try
       if Connected then
           MainForm.ADOConnection1.Close;
       Provider:='SQLOLEDB';//這為數據庫類型
       Properties['Data Source'].Value:=cbbServer.Text;//為數據庫所在服務器名稱
       Properties['User ID'].Value:='sa';//用戶名
       Properties['Password'].Value:='';//密碼
       Properties['Initial Catalog'].Value:=cbbCatalogName.Text;//數據庫名稱
       Open;
       Result:=True;
      except
       Result:=False;
      end;
     end;
    end;
    //這是最基本的連接字符串生成。其實Properties['屬性名稱']是一個很好用的東西。:)
      

  2.   

    建議使用ADO組件,因為這樣會省下一大堆事情。
    你可以此用ADOCONED單元,這樣就可以用EditConnectionString函數取得連接字符串。
      

  3.   

    楼上说的比较对,
    再编辑ado的connectionstring的时候可以通过向导取得所有的种类的连接字符串。
      

  4.   

    连接
    adoc := CreateOleObject('ADODB.Connection');
    // 打开
    adoc.Open ('Provider=Microsoft.Jet.OLEDB.4.0;User ID=Admin;Data
    Source = F:\Delphi5\Nnd.mdb;Mode =Share
    Deny None;Extended Properties="";Jet OLEDB:System database="";Jet
    OLEDB:Registry Path="";Jet OLEDB:Database Password="";Jet
    OLEDB:Engine Type=5;Jet OLEDB:Database Locking Mode=1;Jet
    OLEDB:Global Partial Bulk Ops=2;Jet OLEDB:Global Bulk
    Transactions=1;Jet OLEDB:New Database Password="";Jet OLEDB:Create
    System Database=False;Jet OLEDB:Encrypt Database=False;Jet
    OLEDB:Don''t Copy Locale on Compact=False;Jet OLEDB:Compact Without
    Replica Repair=False;Jet OLEDB:SFP=False');打开数据表
    写如下的程序代码:
    procedure TForm1.btnOpenTableClick(Sender: TObject);
    begin
      ador := CreateOleObject('ADODB.RecordSet');
      ador.ActiveConnection := adoc;
      // 设定指令类型与内容
      ador.Open('Select * from 客户', adoc,    adOpenStatic,adLockOptimistic, adCmdText); // 执行指令end;
      

  5.   

    忘了说了,用字段的方法我n个月前就搞定了,用的就是u2m(随波逐流,漂泊一生) 摘的那段文字。不过我很感谢朋友们的支持,更希望能给我类似以下这样的代码:
    Aconnection.open('Driver={Microsoft Access Driver (*.mdb)};DBQ=c:\leberty\Toacc');
    这是连mdb的,我想要其它的库连接代码。难道都不知道,那可是borland的错呀??!
      

  6.   

    use comobj;
    private
    cn,rs:variant;cn:=createoleobject('adodb.connection');rs:=createoleobject('adodb.recordset');写你的代码
    rs.close;
    cn.close;
      

  7.   

    procedure TFrmbmgl.FormCreate(Sender: TObject); 
    begin 
         //初始化窗体; 
          adoconnection1.connected:=false;//连接到hssystem ;                                         //打开数据库 
          adoconnection1.connectionstring:='Provider=SQLOLEDB.1;' 
                                         +'Persist Security Info=False;' 
                                         +'User ID='+frmMain.sqluser+';' 
                                         +'Initial Catalog=hssystem;' 
                                         +'Data Source='+frmMain.sqlserver; 
          adoconnection1.LoginPrompt:=false; 
          adoconnection1.connected:=true; 
          adoconnection1.Open; 
          adoconnection2.connected:=false;//连接到hs81890;                                          //打开数据库 
          adoconnection2.connectionstring:='Provider=SQLOLEDB.2;' 
                                         +'Persist Security Info=False;' 
                                         +'User ID='+frmMain.sqluser+';' 
                                         +'Initial Catalog=hs81890;' 
                                         +'Data Source='+frmMain.sqlserver; 
          adoconnection2.LoginPrompt:=false; 
          adoconnection2.connected:=true; 
          adoconnection2.Open; 
    end; ============================
    @* .☆ / */ . / * . ☆/ *。
       ◢◣。       ◢◣。
      ◢★◣。     ◢★◣。
     ◢■■◣。   ◢■■◣。
    ◢■■■◣。 ◢■■■◣。
    ︸︸||︸︸ !!︸︸||︸︸
    愿您有快乐的每一天 ^_^!!
      

  8.   

    以下我在学VB和ASP时归纳的ODBC连接方法,可能是你要的(非DSN连接即使用了连接字符串)用ADO访问数据库的方法
    Option Explicit
    '必须先引用一下Microsoft ActiveX Data Object 2.x Library (ADO类库)
    Dim rs As New ADODB.Recordset
    Dim cn As New ADODB.ConnectionPrivate Sub Form_Load()
        'ADO Connection对象Open方法:connection.Open ConnectionString, UserID, Password, OpenOptions
        
        '注:实际使用时请将下列字符串换成实际的值
        'dsnname -> DSN 数据源的名称
        'userid , password -> 登录数据库时需要的用户名和密码
        'databasename -> 数据库名称
        'dbpath -> MDB 数据库文件的路径
        'servername -> 数据库服务器的名称,如果本机是数据库服务器,可指定为server=(local)
            'Microsoft OLE DB ODBC Provider
        '请确保系统中已经安装了MDB数据库或SOL Server数据库的ODBC驱动程序
        'A.访问Access(*.mdb)数据库
        '::DSN连接
        'cn.Open "dsnname", "userid", "password" 没有密码时可写成:cn.open "dsnname"
        '或cn.open "dsn=dsnname;uid=userid;pwd=password" 没有密码时可写成:cn.open "dsn=dsnname"
        '::非DSN连接
        'cn.Open "Driver={Microsoft Access Driver (*.mdb)};dbq=c:\dbpath\databasename.mdb;uid=userid;pwd=password"
        '或cn.Open "Driver={Microsoft Access Driver (*.mdb)};dbq=c:\dbpath\databasename.mdb","userid","password"
        '访问其他中小型数据库(包括文本文件)方法同MDB数据库的访问方法相同,但使用非DSN连接方法时必须打开[开始][设置]
        '[控制面板][ODBC数据源(32位)][驱动程序]选项卡,并将driver={...}改成相应的driver={"名称栏"中所显示的字符串}
        '并将dbq=... 改成所在数据库的路径和数据库文件名称,uid,pwd 可根据情况添加或省略    'B.访问MS SQL Server 7 数据库
        '::DSN连接方法
        '(如果已经在DSN中指定了需要的数据库名,则database=...一句可以省略)
        'cn.Open "dsn=dsnname;database=dbname", "userid", "password"      '方法1
        'cn.Open "dsn=dsnname;database=dbname;uid=userid;pwd=password"    '方法2
        '(如果没有密码[空白密码],可以写成pwd=,如:"dsn=dsnname;database=dbname;uid=userid;pwd=") 
        '::非DSN连接方法
        'cn.Open "driver={sql server};server=servername;database=dbname;uid=userid;pwd=password"    '方法1
        'cn.Open "driver={sql server};server=servername;database=dbname", "userid", "password"      '方法2
        '访问其他大型数据库方法同SQL Server的访问方法相同,但使用非DSN连接方法,必须打开[开始][设置][控制面板]
        '[ODBC数据源(32位)][驱动程序]选项卡,并将driver={sql server}改成相应的driver={"名称栏"中所显示的字符串}
        'Microsoft OLE DB SQL Server Provider 访问MS SQL Server 7 数据库
        'cn.Open "Provider=sqloledb;Data Source=servername;Initial Catalog=databasename;User Id=userid;Password=password"
        '或cn.Open "Provider=sqloledb;Data Source=servername;Initial Catalog=databasename","uerid","password"
        '此方法仅用于访问MS SQL Server 7 数据库
        '打开RecordSet , 并绑定到DataGrid控件:
        'rs.CursorLocation = adUseClient
        'rs.Open "select * from users", cn, adOpenDynamic[adOpenKeySet], adLockPessimistic[adLockOptimistic]
        '这里cn(adodb.connection对象)也可以用连接字符串(上述cn.open后面的字符串)代替
        'Set DataGrid1.DataSource = rs
    End Sub
      

  9.   

    zxkid() 的帮助很棒!我一定给你分的。
    各位有没有for delphi的,连接access 、excel 、ms sql server、
    sybase、oracle ??
    我想借贴了,有能答的就快点吧!