• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

关于Delphi连接SQL server数据库实战

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

一、在Delphi7中连接MS SQL Server 2000的方法。

刚开始时界面如下:添加4个控件。

 

 

 

 

 

设置控件属性过程:

 

1、ADOConnection1设置

1)双击ADOConnection1,进行设置连接字符串(作用是:选取连接驱动方式和连接的数据库设置)。过程如下图所示:

 

 

 

 

2、ADOQuery1设置: 

1)ADOQuery1.connection属性为ADOConnection1;

2)ADOQuery1.SQL属性为select student.sno,sname,cname,grade from student,sc,course where student.sno=sc.sno and course.cno=sc.cno

3)ADOQuery1.Active设置为TRUE。

 

3、DataSource1设置

DataSet属性为ADOQuery1

 

4、DBGrid1设置

DataSource属性设置为DataSource1.

 

效果图:

 

二、通过Delphi7进行设计SQL查询的界面和程序实现。

 

1、界面设计

添加Edit,Button和Label控件,如图摆放和设置基本属性。

 

 

2、在BitBtn1的Click事件内完成程序。(Edit1和Edit2的综合查询,共4种情况)

[delphi] view plain copy
  1. procedure TForm1.BitBtn1Click(Sender: TObject);  
  2. var  
  3.   i:integer;  
  4.   SqlStr:String;  
  5. begin  
  6.    i:=0;  
  7.    if edit1.Text<>'' then  
  8.       i:=i+1;  
  9.    if edit2.Text<>'' then  
  10.       i:=i+2;  
  11.   
  12.    case i of  
  13.    0:  
  14.    begin  
  15.       SqlStr:='select student.sno,sname,cname,grade from student,sc,course '  
  16.              +'where student.sno=sc.sno and course.cno=sc.cno ';  
  17.       adoquery1.Close;            //关闭ADOQuery1,以便于进行SQL语句更新  
  18.       adoquery1.SQL.Clear;        //清空SQL语句  
  19.       adoquery1.SQL.Add(sqlStr);  //添加新的SQL  
  20.       adoquery1.Open;             //新SQL有效  
  21.    end;  
  22.    1:  
  23.    begin  
  24.       SqlStr:='select student.sno,sname,cname,grade from student,sc,course '  
  25.              +'where student.sno=sc.sno and course.cno=sc.cno and sname='''+edit1.Text+'''';  
  26.       adoquery1.Close;            //关闭ADOQuery1,以便于进行SQL语句更新  
  27.       adoquery1.SQL.Clear;        //清空SQL语句  
  28.       adoquery1.SQL.Add(sqlStr);  //添加新的SQL  
  29.       adoquery1.Open;             //新SQL有效  
  30.         
  31.    end;  
  32.    2:  
  33.    begin  
  34.       SqlStr:='select student.sno,sname,cname,grade from student,sc,course '  
  35.              +'where student.sno=sc.sno and course.cno=sc.cno and cname='''+edit2.Text+'''';  
  36.       adoquery1.Close;            //关闭ADOQuery1,以便于进行SQL语句更新  
  37.       adoquery1.SQL.Clear;        //清空SQL语句  
  38.       adoquery1.SQL.Add(sqlStr);  //添加新的SQL  
  39.       adoquery1.Open;             //新SQL有效  
  40.    end;  
  41.    3:  
  42.    begin  
  43.       SqlStr:='select student.sno,sname,cname,grade from student,sc,course '  
  44.              +'where student.sno=sc.sno and course.cno=sc.cno and sname='''+edit1.Text+''''  
  45.              +' and cname='''+edit2.Text+'''';  
  46.       adoquery1.Close;            //关闭ADOQuery1,以便于进行SQL语句更新  
  47.       adoquery1.SQL.Clear;        //清空SQL语句  
  48.       adoquery1.SQL.Add(sqlStr);  //添加新的SQL  
  49.       adoquery1.Open;             //新SQL有效  
  50.    end;  
  51.    end;  
  52. end;  

 

3、在Edit2的change事件内写模糊查询。代码如下(Edit1的类似):

[delphi] view plain copy
  1. procedure TForm1.Edit2Change(Sender: TObject);  
  2. var  
  3.    SqlStr:String;  
  4. begin  
  5.       SqlStr:='select student.sno,sname,cname,grade from student,sc,course '  
  6.              +'where student.sno=sc.sno and course.cno=sc.cno and cname like ''%'+edit2.Text+'%''';  
  7.       adoquery1.Close;            //关闭ADOQuery1,以便于进行SQL语句更新  
  8.       adoquery1.SQL.Clear;        //清空SQL语句  
  9.       adoquery1.SQL.Add(sqlStr);  //添加新的SQL  
  10.       adoquery1.Open;             //新SQL有效  
  11. end;  

最后运行就可以了。

https://blog.csdn.net/cnlht/article/details/4802400

鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
MATLAB 求系统的单位冲击响应及单位阶跃响应发布时间:2022-07-18
下一篇:
Matlab 线性规划实践发布时间:2022-07-18
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap