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