Delphi数据库架构知识点

2026/1/16 11:05:16

第六次上机实验要求

主题:Delphi数据库编程2(典型数据库程序架构知识点,TQuery的SQL动态语言编程)

1.启动屏

①新建一个窗体,可以取名为SplashForm (窗体名字),保存则可存为Splash.pas(单元文件命,保存时.pas可省略) ,窗体的BorderStyle属性设置为bsNone ②在工程文件(.dpr)中输入以下代码: Application.Initialize;

SplashForm := TSplashForm.Create(Application); //启动屏创建 SplashForm.Show; SplashForm.Update;

Application.CreateForm(TMainForm, MainForm); //创建主窗体 SplashForm.ProgressBar1.Position := 10; Sleep(500);

Application.CreateForm(TLoginForm, LoginForm); //创建用户验证窗体 SplashForm.ProgressBar1.Position := 20; Sleep(500);

try

MainForm.ADOConnection1.Connected := true; except

MessageBox(Application.Handle, '网络数据库连接不上'+#13+'请检查网络连接状况','数

据库连接出错',MB_OK+MB_ICONERROR); Application.Terminate; end;

SplashForm.Close; //关闭启动屏窗体

SplashForm.Free; //释放启动屏窗体所占的内存

Application.Run;

注意:如果启动屏一闪而过,可在主窗体MainForm的OnCreate事件中加入Sleep(3000);来进行延迟

2.用户登陆窗体

①新建一个窗体,取名为LoginForm

②在主窗体的OnShow事件中输入以下代码

LoginForm.ShowModal;

if LoginForm.ModalResult = mrCancel then Application.Terminate;

③在LoginForm中防置两个按钮,一个写LoginForm.ModalResult := mrOK; (确定按钮,如果验证密码成功,自己用if语句来写)

一个写LoginForm.ModalResult := mrCancel; (取消按钮)

3.数据库配置

①配置ODBC数据源(以access数据库为例)

“控制面板” -> ”管理工具” -> ”数据源ODBC” -> 点击“添加” -> 选择“Driver to Microsoft Access(*.mdb)”,输入数据源名称,选择数据库所在的路径并确定. ②进行BDE配置

“开始” -> “程序” -> “Borland Delphi 7” -> “BDE Administrator” -> 找到你建立的数据源别名,点击它,出现”SQLQRYMODE”选择”LOCAL”,点击”关闭”并保存

③在程序主窗体MainForm上放置一个Database1,其DatabaseName属性设置为ODBC中的数据库别名,LoginPrompt设置为false,Connected属性设为true

小窍门:可以在工程文件的SplashForm.Close前面输入 try

MainForm.Database1.Connected := true; except

MessageBox(Application.Handle, '数据库连接不上'+#13+'请检查','数据库连接出错

',MB_OK+MB_ICONERROR); Application.Terminate; end;

作用是预先检查数据库连接状况,如果出错,则退出程序!

4.在主窗体上画出相应的界面,如果需要打开更多窗口,则新建相应的窗体,并输入代码 Form1.ShowModal; (以Form1为例,具体名字可以不同)

注意:在implementation后面应该添加需引用的单元文件名 如uses Unit1; (Form1窗体保存为Unit1.pas)

5.充分利用Table、Query、DBGrid、DataSource等控件和SQL标准语言进行对数据库的操作.

以下是Delphi中的SQL语言对数据库的操作(ODBC) ① 添加

Query1.SQL.Clear;

Query1.SQL.Add('Insert Into Score (Num, Name, WU, SX)'); Query1.SQL.Add('Values (:sNum, :sName, :sWU, :sSX)');

Query1.ParamByName('sNum').AsString := Edit1.Text; Query1.ParamByName('sName').AsString := Edit2.Text;

Query1.ParamByName('sWU').AsString := Edit3.Text; Query1.ParamByName('sSX').AsString := Edit4.Text;

Query1.ExecSQL; ② 删除

Query1.SQL.Clear;

Query1.SQL.Add('Delete From Score Where num = :snum'); Query1.ParamByName('snum').AsString := Edit1.Text; Query1.ExecSQL;

③ 修改

Query1.SQL.Clear;

Query1.SQL.Add('Update Score');

Query1.SQL.Add(' Set Num = :sNum, Name = :sName, WU = :sWU, SX = :sSX'); Query1.SQL.Add(' Where Num = :sNum2');

Query1.ParamByName('sNum').AsString := Edit1.Text; Query1.ParamByName('sName').AsString := Edit2.Text; Query1.ParamByName('sWU').AsString := Edit3.Text; Query1.ParamByName('sSX').AsString := Edit4.Text; Query1.ParamByName('sNum2').AsString := Edit5.Text; Query1.ExecSQL;

④ 查询

Query2.Close;

Query2.SQL.Clear;

Query2.SQL.Add('Select * From Score Where num = :snum'); Query2.ParamByName('snum').AsString := Edit1.Text; Query2.Open

以下是Delphi中的SQL语言对数据库的操作(ADO) ⑤ 添加

ADOQuery1.SQL.Clear;

ADOQuery1.SQL.Add('Insert Into Table1 (Num, Name, WU, SX)'); ADOQuery1.SQL.Add('Values (:sNum, :sName, :sWU, :sSX)');

ADOQuery1.Parameters.ParamByName('sNum').Value := Edit1.Text; ADOQuery1.Parameters.ParamByName('sName').Value := Edit2.Text;

ADOQuery1.Parameters.ParamByName('sWU').Value := StrToFloat(Edit3.Text); ADOQuery1.Parameters.ParamByName('sSX').Value := StrToFloat(Edit4.Text);

ADOQuery1.ExecSQL;

showmessage('ok'); ⑥ 删除

ADOQuery1.SQL.Clear;

ADOQuery1.SQL.Add('Delete From Table1 Where num = :snum'); ADOQuery1.Parameters.ParamByName('sNum').Value := Edit1.Text; ADOQuery1.ExecSQL; showmessage('ok');

⑦ 修改

ADOQuery1.SQL.Clear;

ADOQuery1.SQL.Add('Update Table1');

ADOQuery1.SQL.Add(' Set Num = :sNum, Name = :sName, WU = :sWU, SX = :sSX'); ADOQuery1.SQL.Add(' Where Num = :sNum2');

ADOQuery1.Parameters.ParamByName('sNum').Value := Edit1.Text; ADOQuery1.Parameters.ParamByName('sName').Value := Edit2.Text;

ADOQuery1.Parameters.ParamByName('sWU').Value := StrToFloat(Edit3.Text); ADOQuery1.Parameters.ParamByName('sSX').Value := StrToFloat(Edit4.Text); ADOQuery1.Parameters.ParamByName('sNum2').Value := Edit5.Text; ADOQuery1.ExecSQL;

showmessage('ok'); ⑧ 查询

ADOQuery2.Close;

ADOQuery2.SQL.Clear;

//ADOQuery2.SQL.Add('Select * From Table1 Where num = :snum'); //ADOQuery2.Parameters.ParamByName('sNum').Value := Edit1.Text;

ADOQuery2.SQL.Add('Select * From Table1 Where SX > :sSX'); ADOQuery2.Parameters.ParamByName('sSX').Value := Edit4.Text;

ADOQuery2.Open


Delphi数据库架构知识点.doc 将本文的Word文档下载到电脑
搜索更多关于: Delphi数据库架构知识点 的文档
相关推荐
相关阅读
× 游客快捷下载通道(下载后可以自由复制和排版)

下载本文档需要支付 10

支付方式:

开通VIP包月会员 特价:29元/月

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:xuecool-com QQ:370150219