
有关delphi 7 与 数据库的程序问题。。。
unitLogin;interfaceusesWindows,Messages,SysUtils,Variants,Classes,Graphics,Controls,F...
unit Login;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, DB, ADODB,user_unit,datamod_unit, jpeg, ExtCtrls;
type
TLoginfrm = class(TForm)
GroupBox1: TGroupBox;
GroupBox2: TGroupBox;
Label1: TLabel;
Label2: TLabel;
Edit1: TEdit;
Edit2: TEdit;
Label3: TLabel;
Button1: TButton;
Button2: TButton;
GroupBox3: TGroupBox;
Image1: TImage;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Loginfrm: TLoginfrm;
userlevel:string;
implementation
uses main, dblink,Unit1,shangpin;
{$R *.dfm}
procedure TLoginfrm.Button1Click(Sender: TObject);
var
username,password :string;
begin
username :=Edit1.Text;
password:=Edit2.Text;
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('select * from USERTABLE where USERNAME= '''+username+''' and USERPWD= '''+password+'''');
ADOQuery1.open;
if ADOQuery1.Recordset.RecordCount = 0 then
begin
application.MessageBox('用户名或密码错误,请重新输入 !','系统提示',mb_ok);
Edit1.Text:='';
Edit2.Text:='';
Edit1.SetFocus;
end
else begin
if Edit1.Text<>'系统管理员' then
begin
Hide;
shangpinfrm.Button1.Enabled:=false;
shangpinfrm.Button2.Enabled:=false;
shangpinfrm.Button4.Enabled:=false;
mainfrm.N6.Enabled :=false;
mainfrm.N11.Enabled :=false;
mainfrm.ShowModal;
// close;
end
else
begin
Hide;
mainfrm.N8.Enabled:=false;
mainfrm.N10.Enabled :=false;
mainfrm.ShowModal;
// close;
end;
end;
end;
procedure TLoginfrm.Button2Click(Sender: TObject);
begin
application.Terminate ;
end;
procedure TLoginfrm.FormCreate(Sender: TObject);
begin
//Edit1.Text:='system';
//Edit2.Text:='system';
end;
end.
程序运行时候 出现如下问题,
Login.past(45):Undentifier:'ADOUery1'
Login.past(46):Missing operator or semicolon
等等好几个错误,能不能帮我改一下, 小弟在这里谢谢了!!
ADOQuery1.Close;
第一个错误指向的是这句!! 展开
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, DB, ADODB,user_unit,datamod_unit, jpeg, ExtCtrls;
type
TLoginfrm = class(TForm)
GroupBox1: TGroupBox;
GroupBox2: TGroupBox;
Label1: TLabel;
Label2: TLabel;
Edit1: TEdit;
Edit2: TEdit;
Label3: TLabel;
Button1: TButton;
Button2: TButton;
GroupBox3: TGroupBox;
Image1: TImage;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Loginfrm: TLoginfrm;
userlevel:string;
implementation
uses main, dblink,Unit1,shangpin;
{$R *.dfm}
procedure TLoginfrm.Button1Click(Sender: TObject);
var
username,password :string;
begin
username :=Edit1.Text;
password:=Edit2.Text;
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('select * from USERTABLE where USERNAME= '''+username+''' and USERPWD= '''+password+'''');
ADOQuery1.open;
if ADOQuery1.Recordset.RecordCount = 0 then
begin
application.MessageBox('用户名或密码错误,请重新输入 !','系统提示',mb_ok);
Edit1.Text:='';
Edit2.Text:='';
Edit1.SetFocus;
end
else begin
if Edit1.Text<>'系统管理员' then
begin
Hide;
shangpinfrm.Button1.Enabled:=false;
shangpinfrm.Button2.Enabled:=false;
shangpinfrm.Button4.Enabled:=false;
mainfrm.N6.Enabled :=false;
mainfrm.N11.Enabled :=false;
mainfrm.ShowModal;
// close;
end
else
begin
Hide;
mainfrm.N8.Enabled:=false;
mainfrm.N10.Enabled :=false;
mainfrm.ShowModal;
// close;
end;
end;
end;
procedure TLoginfrm.Button2Click(Sender: TObject);
begin
application.Terminate ;
end;
procedure TLoginfrm.FormCreate(Sender: TObject);
begin
//Edit1.Text:='system';
//Edit2.Text:='system';
end;
end.
程序运行时候 出现如下问题,
Login.past(45):Undentifier:'ADOUery1'
Login.past(46):Missing operator or semicolon
等等好几个错误,能不能帮我改一下, 小弟在这里谢谢了!!
ADOQuery1.Close;
第一个错误指向的是这句!! 展开
展开全部
报错的原因是你没有定义过 ADOUery1 ,我想你应该是一个delphi的初学者,连控件都没定义过就想用,不报错就怪了。
解决的方法是:
情况1:如果你从未在任何地方定义过ADOQuery1
你应该拉一个 TADOQuery 控件到你的 登录窗体(TLoginfrm) 中 ,并命名为ADOQuery1,然后为ADOQuery1.connection 指定一个数据库连接。如果你仍没创建过数据库连接,你还需要拉一个TADOConnection 到这个登录窗体或者一个专门的数据单元模块中,并命名为 ADOConnection1 , 然后为ADOConnection1设置数据库连接串,然后将 ADOQuery1.connection 指定为 ADOConnection1 。
情况2:你已在其它单元定义过ADOQuery1
如果是这种情况,你在登录窗体(TLoginfrm) 中要便用其它单元定义的ADOQuery1时,需要在Adoquery1的前面引用其它单元的名称( 如:data.ADOQuery1.close )
解决的方法是:
情况1:如果你从未在任何地方定义过ADOQuery1
你应该拉一个 TADOQuery 控件到你的 登录窗体(TLoginfrm) 中 ,并命名为ADOQuery1,然后为ADOQuery1.connection 指定一个数据库连接。如果你仍没创建过数据库连接,你还需要拉一个TADOConnection 到这个登录窗体或者一个专门的数据单元模块中,并命名为 ADOConnection1 , 然后为ADOConnection1设置数据库连接串,然后将 ADOQuery1.connection 指定为 ADOConnection1 。
情况2:你已在其它单元定义过ADOQuery1
如果是这种情况,你在登录窗体(TLoginfrm) 中要便用其它单元定义的ADOQuery1时,需要在Adoquery1的前面引用其它单元的名称( 如:data.ADOQuery1.close )
更多追问追答
追问
那个我已经添加 了, 可是 可能是 连接数据库的时候没有 弄好, 出现 了这样的情况,missing connection or connectionstring!!! 这样该怎么样 解决啊, 谢谢哈。。。
追答
你用什么数据库?ACCESS?或者是SQLSERER?
你检查一下你的:ADOConnection1.connectionstring ,你不会还没设过吧?
展开全部
在窗体上添加一个 ADOQuery1 组件,并且设置它的数据库连接属性
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
初学者使用ado访问数据库,必用的控件有:adoconnection,adoquery,adodataset,adocommand。
adoconnection:负责连接到数据库,后面三个控件的connection属性要设置为adoconnection.
在窗口上拖放adoconnection控件后,双击,会出来对话框,有个build按钮,在窗口中连接数据库。
如果不使用adoconnection控件,可以设置后面三个控件的connectionstring属性,即数据库连接字符串。
adoconnection:负责连接到数据库,后面三个控件的connection属性要设置为adoconnection.
在窗口上拖放adoconnection控件后,双击,会出来对话框,有个build按钮,在窗口中连接数据库。
如果不使用adoconnection控件,可以设置后面三个控件的connectionstring属性,即数据库连接字符串。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询