Delphi連接SQL Server 2000

 

一、在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種情況)

  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的類似):

  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;  

發佈了47 篇原創文章 · 獲贊 18 · 訪問量 22萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章