H
hukaijt
Unregistered / Unconfirmed
GUEST, unregistred user!
小生出学DELPHI,用的是DELPHI5.0企业版,编一个后台用SQL7(DESKTOP)的数据库,当加入一条记录后,看不见新加的记录。在窗体FRMMAIN上有QI(TQUERY),DATABASE1(TDATABASE),storedproc1(Tstoredproc)
我用的是QUERY控件,Q1的ACTIVE 为TRUE,CATHUPDATE为TRUE,保存添加的记录时调用存储过程dbo.sp_insert_基本信息表_1,
代码如下:
CREATE PROCEDURE [sp_insert_基本信息表_1]
(
@病理号_2 [char](10),
@病案号_3 [char](12),
@床号_4 [char](5),
@病理检验号_5 [char](20),
@住院号_6 [char](15),
@姓名_7 [char](8),
@病理诊断_16 [char](100))
AS INSERT INTO [bingli].[dbo].[基本信息表]
(
[病理号],
[病案号],
[床号],
[病理检验号],
[住院号],
[姓名],
[病理诊断])
VALUES
(
@病理号_2,
@病案号_3,
@床号_4,
@病理检验号_5,
@住院号_6,
@姓名_7,
@病理诊断_16)
在‘保存’的代码处写:
frmmain.database1.starttransaction;
try
frmmain.StoredProc1.Parambyname('@姓名_7').asstring:= frmmain.edit1.text;
...............
frmmain.StoredProc1.Parambyname('@病理诊断_16').asstring:= frmmain.edit13.text;
frmmain.storedproc1.ExecProc;
frmmain.q1.applyupdates;
frmmain.Database1.commit;
except
frmmain.Database1.rollback
end;
frmmain.t1.CommitUpdates;
执行后记录添加了,但看不到,只有从新运行才可以,我都试了两天了,还不行,
最后只好在frmmain.Database1.commit;后加上
frmmain.t1.Active:=false;
frmmain.t1.Active:=true;
但这不是长久之计,哪为大侠救命,还有修改记录时遇到的情况也一样,还有修改后如何跳到
刚改过的记录,承蒙相助,不胜感激,救命呀!!!
我用的是QUERY控件,Q1的ACTIVE 为TRUE,CATHUPDATE为TRUE,保存添加的记录时调用存储过程dbo.sp_insert_基本信息表_1,
代码如下:
CREATE PROCEDURE [sp_insert_基本信息表_1]
(
@病理号_2 [char](10),
@病案号_3 [char](12),
@床号_4 [char](5),
@病理检验号_5 [char](20),
@住院号_6 [char](15),
@姓名_7 [char](8),
@病理诊断_16 [char](100))
AS INSERT INTO [bingli].[dbo].[基本信息表]
(
[病理号],
[病案号],
[床号],
[病理检验号],
[住院号],
[姓名],
[病理诊断])
VALUES
(
@病理号_2,
@病案号_3,
@床号_4,
@病理检验号_5,
@住院号_6,
@姓名_7,
@病理诊断_16)
在‘保存’的代码处写:
frmmain.database1.starttransaction;
try
frmmain.StoredProc1.Parambyname('@姓名_7').asstring:= frmmain.edit1.text;
...............
frmmain.StoredProc1.Parambyname('@病理诊断_16').asstring:= frmmain.edit13.text;
frmmain.storedproc1.ExecProc;
frmmain.q1.applyupdates;
frmmain.Database1.commit;
except
frmmain.Database1.rollback
end;
frmmain.t1.CommitUpdates;
执行后记录添加了,但看不到,只有从新运行才可以,我都试了两天了,还不行,
最后只好在frmmain.Database1.commit;后加上
frmmain.t1.Active:=false;
frmmain.t1.Active:=true;
但这不是长久之计,哪为大侠救命,还有修改记录时遇到的情况也一样,还有修改后如何跳到
刚改过的记录,承蒙相助,不胜感激,救命呀!!!