//需要的数据库组件就是AdoQuery或者Query//连的数据库可以自定,sqlserver,Access,Mysql都可以 。//下面是一个详细的例子,从我的一个小项目中摘的一个登陆单元//基本思路是在主窗体FMain的Formshow事件中创建显示这个窗体//这个窗体判断输入的用户和密码,正确则显示Fmain,不然则提示unitUlogin;interfaceusesWindows,Messages,SysUtils,Variants,Classes,Graphics,Controls,Forms,Dialogs,StdCtrls,DB,ADODB;typeTFlogin=class(TForm)GroupBox1:TGroupBox;Button1:TButton;Button2:TButton;Label1:TLabel;Label2:TLabel;username:TEdit;password:TEdit;Q:TADOQuery;procedureFormCreate(Sender:TObject);procedureButton2Click(Sender:TObject);procedureFormClose(Sender:TObject;varAction:TCloseAction);procedureButton1Click(Sender:TObject);private{Privatedeclarations}public{Publicdeclarations}logtimes:integer;//登陆尝试次数end;varFlogin:TFlogin;implementationusesUmain;{$R* 。
dfm}procedureTFlogin 。FormCreate(Sender:TObject);beginlogtimes:=0;end;//关闭按钮procedureTFlogin 。Button2Click(Sender:TObject);beginFmain 。
Close;Flogin 。Close;end;procedureTFlogin 。FormClose(Sender:TObject;varAction:TCloseAction);beginAction:=caFree;end;//这个按钮Click事件中判断用户和密码 。
procedureTFlogin 。Button1Click(Sender:TObject);begin//Loginif(logtimes>3)thenbeginApplication 。MessageBox(\'你尝试登陆次数太多,本程序自动关闭\',\'警告\',MB_ICONWARNING);Button2Click(self);//调用close按钮事件关闭整个程序;exit;end;if((trim(username 。
Text)=\'\')or(trim(password 。Text)=\'\'))thenbeginApplication 。MessageBox(\'用户名或者密码不允许为空\',\'警告\',MB_ICONWARNING);exit;end;try//数据库连接,用主窗体的连接字符串,关于数据库连接不懂的地方可以hi我 。
Q 。Connection:=Fmain 。conn;Q 。SQL 。Text:=\'selectpassword,teamname,fullnamefromuserinfowhereusername=\'\'\'+username 。Text+\'\'\'\';Q 。
Open;exceptonE:ExceptiondobeginApplication 。MessageBox(PChar(\'数据库错误:\'+E 。Message),\'错误\',MB_ICONERROR);exit;end;end;ifQ 。RecordCount=0thenbeginApplication 。
MessageBox(\'用户名不存在\',\'警告\',MB_ICONWARNING);inc(logtimes);exit;end;if(password 。TextQ 。Fields[0] 。AsString)thenbeginApplication 。
MessageBox(\'用户密码错误\',\'警告\',MB_ICONWARNING);inc(logtimes);exit;end;//如果验证通过,提出一些用户信息,显示主窗体,关闭自身窗体 。Fmain 。username:=username 。Text;Fmain 。
teamname:=Q 。Fields[1] 。AsString;Fmain 。fullname:=Q 。Fields[2] 。AsString;Fmain 。sb 。Panels[1] 。Text:=username 。Text+\'[\'+Fmain 。fullname+\',\'+Fmain 。
teamname+\']\';Q 。Close;close;end;end 。//*****************************************************************************//主窗体的一些事件//主窗口中创建数据库连接procedureTFmain 。
FormCreate(Sender:TObject);varstr_conn,path,ip,pass:String;Wini:Tinifile;begin//我这里是从配置文件中读取的,你可以简化下 。。。。path:=ExtractFileDir(Application 。
ExeName)+\'\';Wini:=Tinifile 。Create(path+\'db 。ini\');ip:=Wini 。ReadString(\'sysdb\',\'server\',\'127 。0 。0 。1\');pass:=Wini 。ReadString(\'sysdb\',\'pass\',\'\');//这里是连接的sqlserver数据库的ConnectionString//conn是一个TADOConnection组件 。
是整个程序的数据库连接配置//将来其他窗口都可以引用Fmain 。conn获取数据库连接 。try//str_conn:=\'Provider=SQLOLEDB 。1;Password=sa12345;PersistSecurityInfo=True;UserID=sa;InitialCatalog=mao;DataSource=127 。
0 。0 。1\'str_conn:=\'Provider=SQLOLEDB 。1;Password=\'+pass+\';PersistSecurityInfo=True;UserID=sa;InitialCatalog=JMJ;DataSource=\'+ip;conn 。
Connected:=false;conn 。ConnectionString:=str_conn;conn 。Connected:=true;exceptonE:Exceptiondobeginshowmessage(\'数据库设置异常,请检查db 。
ini文件:\'+E 。Message);exit;end;end;end;//打开登录窗口 。procedureTFmain 。FormShow(Sender:TObject);beginApplication 。CreateForm(TFlogin,Flogin);Flogin 。
- 厨房太小柜子这么做太明智了,超级省空间不说,还特别方便美观!
- 直通车怎么开 直通车淘词方式有哪些?怎么做好直通车?直通车淘词
- 淘宝好难做 淘宝直播报名难吗?直播有哪些技巧?淘宝太难做了
- 怎样饲养幼狗 不一样阶段饲养方法不一样
- 跳绳后还能深蹲吗 跳完绳后还可以做深蹲吗?
- 胡萝卜汁怎么做,用豆浆机?
- 做完黑脸娃娃要注意什么 做完黑脸娃娃的注意事项
- 热玛吉适合哪些人做 热玛吉不适人群
- 做完热玛吉需要注意什么 热玛吉作用机理
- 有宅乡墅 | 别墅外墙防水怎么做?材料怎么选?看一看绝对有收获
特别声明:本站内容均来自网友提供或互联网,仅供参考,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
