我用odbc连接sql server,出现错误
Project sms.exe raised exception class EDBEngineError with message'Unknown user name or password [Microsoft]{ODBC SQL Server Driver][SQL Server]用户'(null)'登录失败。原因:未与信任SQL Server 连接相关联。我从网上查阅后安装了sql server补丁。将sql server验证方式改为混合验证方式,可是怎么还不对啊?我问别人,他们说odbc不保存密码和用户名!是不是我的代码有问题?请大家看看!我通过设置断点发现程序运行到 if RecordCount > 0 then这句时出现错误!
unit login;interfaceuses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, DB, ADODB, DBTables;type
  Tloginform = class(TForm)
    Label2: TLabel;
    Name_Edit: TEdit;
    Password_Edit: TEdit;
    Label3: TLabel;
    Button1: TButton;
    Button2: TButton;
    procedure Button2Click(Sender: TObject);
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;var
  loginform: Tloginform;implementation
  uses start,admin;{$R *.dfm}procedure Tloginform.Button2Click(Sender: TObject);
begin
    Close;
end;procedure Tloginform.Button1Click(Sender: TObject);
var
    aname,apassword,sqlstr:string;
begin
    if(length(trim(name_edit.Text)) > 0) or (length(trim(password_edit.Text)) > 0) then
    begin
        aname:=trim(name_edit.Text);
        apassword:=trim(password_edit.Text);
        sqlstr:='select * from yh where (yhm='''+aname+''') and(mm='''+apassword+''')';
      with tQuery.Create(nil) do
        begin
          try
            Close;
            sessionName:=start_form.Database1.SessionName;
            DatabaseName:=start_form.Database1.DatabaseName;
            SQL.Clear;
            SQL.Add(sqlstr);
            Active:=True;
            if RecordCount > 0 then
              begin
                Admin_Form.Show;
                loginform.Close;
              end
            else
              begin
                showmessage('请确认登录的用户名和密码是否正确!');
                name_edit.SetFocus;
                name_edit.SelectAll;
              end;
          finally
            Free;
          end;
        end;
    end
    else
    begin
        showmessage('请输入登录用户名和密码!');
        name_edit.SelectAll;
    end;
end;
end.

解决方案 »

  1.   

    Database1确认与数据库联上了吗
      

  2.   

    database1未连接上造成的,估计是缺少用户名和密码的参数
    需要在程序动态建立odbc的连接
      

  3.   

    database是不是就是Delphi自带那个?还不如Access好用呢
      

  4.   

    SQL.Clear; 
    SQL.Add(sqlstr); 
    Active:=True;
    Open; 
      

  5.   

    用户'(null)'登录失败。原因:未与信任SQL Server 连接相关联。没有连接上数据库
      

  6.   

    如何确认database1与数据库连接上了啊?怎样在程序中动态建立odbc连接?
      

  7.   

    谢谢大家!是database没连接上数据库!