Delphi 动态连 SQL Server
一、在Delphi7中连接MS SQL Server的方法
刚开始时界面如下:添4个控件
设置控件属性过程:
1、ADOConnection1设置
1)双击ADOConnection1,进行设置连接字符串(作用是:选取连接驱动方式和连接的数据库设置)。过程如下图所示:
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;
效果图:
二、通过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;
📱 扫码关注公众号
扫描二维码关注我们,获取更多精彩内容
实时更新 · 干货满满




