首页 Delphi 正文
  • 本文约2897字,阅读需14分钟
  • 2599
  • 0
举报该广告
Delphi 动态连 SQL Server

Delphi 动态连 SQL Server

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

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

1.jpg2.jpg

3.jpg

 

设置控件属性过程:

 

1、ADOConnection1设置

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

4.jpg

5.jpg

 

2、ADOQuery1设置 

1)ADOQuery1.connection属性为ADOConnection1;

2)ADOQuery1.Active设置为TRUE

 

3、DataSource1设置

DataSet属性为ADOQuery1

 

4、DBGrid1设置

DataSource属性设置为DataSource1.

 

5、全局变量设置

 

 public
  sql_IP,sql_Data,sql_Name,sql_Pwd,sqlstr:string;
    { Public declarations }


6、TForm1.FormCreate设置动态连

 

procedure TForm1.FormCreate(Sender: TObject);
begin
sql_IP:='127.0.0.1'; //服务器地址
sql_Data:='conm';//数据库名
sql_Name:='sa';//数据库用户名
sql_Pwd:='0000';//数据库密
ADOConnection1.Connected:=false;
ADOConnection1.LoginPrompt:=false;
ADOConnection1.ConnectionString:='Provider=SQLOLEDB.1;Password='+sql_Pwd+';Persist Security Info=True;User ID='+sql_Name+';Initial Catalog='+sql_Data+';Data Source='+sql_IP+'' ;
try
ADOConnection1.Connected:=true;
except
end;
begin
sqlstr:='select * from 表名'; 
ADOQuery1.Close;//关闭ADOQuery1,以便于进行SQL语句更新
ADOQuery1.SQL.Clear;//清空SQL语句 
ADOQuery1.SQL.Add(sqlstr);//添加新的SQL
ADOQuery1.Open;//新SQL有效
end;
end;

 

效果图:

6.jpg

 

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

 

1、界面设

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

7.jpg

 

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

procedure TForm1.BitBtn1Click(Sender: TObject);
var
  i:integer;
  SqlStr:String;
begin
   i:=0;
   if edit1.Text<>'' then
      i:=i+1;
   if edit2.Text<>'' then
      i:=i+2;

   case i of
   0:
   begin
      SqlStr:='select student.sno,sname,cname,grade from student,sc,course '
             +'where student.sno=sc.sno and course.cno=sc.cno ';
      adoquery1.Close;            //关闭ADOQuery1,以便于进行SQL语句更新
      adoquery1.SQL.Clear;        //清空SQL语句
      adoquery1.SQL.Add(sqlStr);  //添加新的SQL
      adoquery1.Open;             //新SQL有效
   end;
   1:
   begin
      SqlStr:='select student.sno,sname,cname,grade from student,sc,course '
             +'where student.sno=sc.sno and course.cno=sc.cno and sname='''+edit1.Text+'''';
      adoquery1.Close;            //关闭ADOQuery1,以便于进行SQL语句更新
      adoquery1.SQL.Clear;        //清空SQL语句
      adoquery1.SQL.Add(sqlStr);  //添加新的SQL
      adoquery1.Open;             //新SQL有效

   end;
   2:
   begin
      SqlStr:='select student.sno,sname,cname,grade from student,sc,course '
             +'where student.sno=sc.sno and course.cno=sc.cno and cname='''+edit2.Text+'''';
      adoquery1.Close;            //关闭ADOQuery1,以便于进行SQL语句更新
      adoquery1.SQL.Clear;        //清空SQL语句
      adoquery1.SQL.Add(sqlStr);  //添加新的SQL
      adoquery1.Open;             //新SQL有效
   end;
   3:
   begin
      SqlStr:='select student.sno,sname,cname,grade from student,sc,course '
             +'where student.sno=sc.sno and course.cno=sc.cno and sname='''+edit1.Text+''''
             +' and cname='''+edit2.Text+'''';
      adoquery1.Close;            //关闭ADOQuery1,以便于进行SQL语句更新
      adoquery1.SQL.Clear;        //清空SQL语句
      adoquery1.SQL.Add(sqlStr);  //添加新的SQL
      adoquery1.Open;             //新SQL有效
   end;
   end;
end;

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

procedure TForm1.Edit2Change(Sender: TObject);
var
   SqlStr:String;
begin
      SqlStr:='select student.sno,sname,cname,grade from student,sc,course '
             +'where student.sno=sc.sno and course.cno=sc.cno and cname like ''%'+edit2.Text+'%''';
      adoquery1.Close;            //关闭ADOQuery1,以便于进行SQL语句更新
      adoquery1.SQL.Clear;        //清空SQL语句
      adoquery1.SQL.Add(sqlStr);  //添加新的SQL
      adoquery1.Open;             //新SQL有效
end;

 

 

 

 

 

 

 


📱 扫码关注公众号

公众号二维码

扫描二维码关注我们,获取更多精彩内容
实时更新 · 干货满满

收藏

扫描二维码,在手机上阅读
评论
更换验证码
友情链接