delphi 如何动态连接数据库(只用代码实现) 数据库是ACCESS 
如果可以请给我完成的代码 
谢谢大家 
我是新手

解决方案 »

  1.   

    建议用ADO数据控件,比如ADOTable、ADOQuery
    你可以参考Delphi自带的例子:"?:\Program Files\Borland\Delphi?\Demos\Ado"
    var
      vFileName: string;
    begin
      vFileName := 'c:\temp\temp.mdb';
      ADOTable1.ConnectionString := Format(
    'Provider=Microsoft.Jet.OLEDB.4.0;Data Source=%s;Persist Security Info=False',
        [vFileName]);
      ADOTable1.TableName := 'Table1';
      ADOTable1.Open;
    end;
      

  2.   

    var
      vFileName: string;
      vPassword: string;
      vUserName: string;
    begin
      vPassword := '111111';
      vUserName := 'admin';
      vFileName := 'c:\temp\temp.mdb';
      ADOTable1.ConnectionString := Format(
    'Provider=Microsoft.Jet.OLEDB.4.0;User ID=%s;Jet OLEDB:Database Password=%s;' +
    'Data Source=%s;Persist Security Info=True',
        [vUserName, vPassword, vFileName]);
      ADOTable1.TableName := 'Table1';
      ADOTable1.Open;
      Text := ADOTable1.FieldByName('id').AsString;
    end;
      

  3.   

    你说的是有用户表吧?
    假设表是这样:
    【username】【password】
    zswang     ******
    feishanm   ******
    var
      vFileName: string;
      vPassword: string;
      vUserName: string;
    begin
      vPassword := '111111';
      vUserName := 'admin';
      vFileName := 'c:\temp\temp.mdb';
      ADOQuery1.ConnectionString := Format(
    'Provider=Microsoft.Jet.OLEDB.4.0;User ID=%s;Jet OLEDB:Database Password=%s;' +
    'Data Source=%s;Persist Security Info=True',
        [vUserName, vPassword, vFileName]);  ADOQuery1.SQL.Text := Format(
    'SELECT Count(*) FROM UserTable WHERE username=%s and password=%s', [
      QuotedStr(EditUserName.Text), QuotedStr(EditPassword.Text)]);
      ADOQuery1.Open;
      if ADOQuery1.Fields[0].AsInteger <= 0 then
      begin
        ShowMessage('密码或用户名错误');
      end else
      begin
        ShowMessage('验证通过');
      end;
      ADOQuery1.Close;
    end;
      

  4.   

    ADOQuery1.SQL.Text := Format(
    'SELECT Count(*) FROM UserTable WHERE username=%s and password=%s', [
      QuotedStr(EditUserName.Text), QuotedStr(EditPassword.Text)]);
    这里的%s代表什么意思啊?
      

  5.   

    %S表示格式化字符串类型的指令字符
    第一个%S对应QuotedStr(EditUserName.Text)
    第二个%S对应QuotedStr(EditPassword.Text)
    s:字符串类型
    f:对应浮点数
    u 和d一样是整型值等