一个操作存储过程的查询,和多次查询,因为没有模拟的数据库,调试极不方便
请大家看看这样能不能行程序已经编译通过了,不知道能否实现功能procedure TForm6.Button14Click(Sender: TObject);
var
str1:string;
str2,strsql:string;
begin
//查询病人身份证号码,调试通过
str1:='select social_no from a_patient_mi where inpatient_no='''+str1+'''';
with dm.SFZCX do
begin
close;
sql.Clear ;
sql.Add(str1);
open;
end;//条件判断 查询病人身份证号码与edit2是否相同
if dm.SFZCX.FieldByName('social_no').AsString=edit2.Text then
begin
form15.Show ;//显示等待窗体//运行查询病人费用的存储过程
with dm.BRFY do
begin
ProcedureName := 'zy_patient_cmp';
close; parameters.parambyname('@s_inno').value:= edit1.Text ;
//parameters.parambyname('@').value:= edit2.Text ;
parameters.parambyname('@i_adt').value:=strtoint(edit3.Text);
parameters.parambyname('@start_date').value:=datetimepicker1.DateTime;
parameters.parambyname('@end_date').value:=datetimepicker2.DateTime;
prepared:=true;
ExecProc;
open;
end; //费用查询结束,已经测试通过。form13中dbgrid显示了查询结果。//运行查询病人信息的存储过程,未进行测试,请大家看一下
with dm.BRXX do
begin
ProcedureName := 'zy_mi_cmp';
close;
Parameters.ParamByName('@s_inno').Value :=edit1.Text;
Parameters.ParamByName('@i_adt').Value :=edit3.Text;
prepared:=true;
execproc;
open;
end;//病人信息查询结束,存储过程返回一条结果记录
//这里截取返回值的字段给form13的label赋值,使用这种方法行不行?
with form13 do
begin
label16.Caption := dm.BRXX.FieldByName('姓名').AsString;
label17.Caption := dm.BRXX.FieldByName('性别').AsString;
label18.Caption := dm.BRXX.FieldByName('年龄').AsString; //int
label19.Caption := dm.BRXX.FieldByName('工作单位').AsString;
label20.Caption := dm.BRXX.FieldByName('入院日期').AsString; //datetime
label21.Caption := dm.BRXX.FieldByName('出院日期').AsString; //datetime
label22.Caption := dm.BRXX.FieldByName('入院科别').AsString;
label23.Caption := dm.BRXX.FieldByName('入院病室').AsString;
label24.Caption := dm.BRXX.FieldByName('出院科别').AsString;
label25.Caption := dm.BRXX.FieldByName('出院病室').AsString;
label26.Caption := dm.BRXX.FieldByName('实际住院').AsString; //int or string
end;//根据返回科室代码查询本地库,还没有确定好
str2:=返回的科室代码;
strsql:='select * from keshijs where 科室代码='''+str2+''''; with dm.KSJS do
begin
close;
SQL.Clear;
SQL.Add(strsql);
open;
end;
form13.dbmemo1.DataField :='介绍'; form13.Show ;//显示查询结果的form
form15.close;//关闭等待formend;
请大家看看这样能不能行程序已经编译通过了,不知道能否实现功能procedure TForm6.Button14Click(Sender: TObject);
var
str1:string;
str2,strsql:string;
begin
//查询病人身份证号码,调试通过
str1:='select social_no from a_patient_mi where inpatient_no='''+str1+'''';
with dm.SFZCX do
begin
close;
sql.Clear ;
sql.Add(str1);
open;
end;//条件判断 查询病人身份证号码与edit2是否相同
if dm.SFZCX.FieldByName('social_no').AsString=edit2.Text then
begin
form15.Show ;//显示等待窗体//运行查询病人费用的存储过程
with dm.BRFY do
begin
ProcedureName := 'zy_patient_cmp';
close; parameters.parambyname('@s_inno').value:= edit1.Text ;
//parameters.parambyname('@').value:= edit2.Text ;
parameters.parambyname('@i_adt').value:=strtoint(edit3.Text);
parameters.parambyname('@start_date').value:=datetimepicker1.DateTime;
parameters.parambyname('@end_date').value:=datetimepicker2.DateTime;
prepared:=true;
ExecProc;
open;
end; //费用查询结束,已经测试通过。form13中dbgrid显示了查询结果。//运行查询病人信息的存储过程,未进行测试,请大家看一下
with dm.BRXX do
begin
ProcedureName := 'zy_mi_cmp';
close;
Parameters.ParamByName('@s_inno').Value :=edit1.Text;
Parameters.ParamByName('@i_adt').Value :=edit3.Text;
prepared:=true;
execproc;
open;
end;//病人信息查询结束,存储过程返回一条结果记录
//这里截取返回值的字段给form13的label赋值,使用这种方法行不行?
with form13 do
begin
label16.Caption := dm.BRXX.FieldByName('姓名').AsString;
label17.Caption := dm.BRXX.FieldByName('性别').AsString;
label18.Caption := dm.BRXX.FieldByName('年龄').AsString; //int
label19.Caption := dm.BRXX.FieldByName('工作单位').AsString;
label20.Caption := dm.BRXX.FieldByName('入院日期').AsString; //datetime
label21.Caption := dm.BRXX.FieldByName('出院日期').AsString; //datetime
label22.Caption := dm.BRXX.FieldByName('入院科别').AsString;
label23.Caption := dm.BRXX.FieldByName('入院病室').AsString;
label24.Caption := dm.BRXX.FieldByName('出院科别').AsString;
label25.Caption := dm.BRXX.FieldByName('出院病室').AsString;
label26.Caption := dm.BRXX.FieldByName('实际住院').AsString; //int or string
end;//根据返回科室代码查询本地库,还没有确定好
str2:=返回的科室代码;
strsql:='select * from keshijs where 科室代码='''+str2+''''; with dm.KSJS do
begin
close;
SQL.Clear;
SQL.Add(strsql);
open;
end;
form13.dbmemo1.DataField :='介绍'; form13.Show ;//显示查询结果的form
form15.close;//关闭等待formend;
解决方案 »
- FFDec——供Delphi使用的视频解码动态链接库
- 在Delphi中如何实现升级补丁的功能?
- 连接MSSQL时,想在出错时看一下出错代码,怎么做?
- 发现连接远程SQL时windows默认是用命名管道,而不用TCP,导致连接不成功,如何修改为默认tcp/ip连接呢
- 这个问题也许我不该问!幼稚了点吧?!
- 长久没上csdn,想念大家,送分··············
- Blob类型(oracle)的数据 在delphi中 如何用SQL语句插入?如能解决
- 如何将一个FORM设置成最顶端的窗口。我用FormStyle := fsStayOnTop 和SetWindowPos(HWND_TOPMOST)都不行。
- 一个简单的问题,100分:怎样在运行时用Showmessage得到当前Query的查询语句?
- 怎样得到CPU的ID?
- 最后的50分,socket编程数据报包打包的问题?
- ★★【我回来了】军训好苦啊。今天才是第5天,还有11天★★
with Form13 do
begin
……
end;