2,497
社区成员
发帖
与我相关
我的任务
分享
if Object_id('DrugMaterial.vDMItem_InsertXML') is not null
drop proc DrugMaterial.vDMItem_InsertXML
go
--对应字段说明:GWFlag,IsBase,IsZCY,IsKCWZ,ZBYPBH,YpID,Name,CommonName,FJSM,WJBM,Gg,Addr,YkUnit,YfUnit,Zhxs,PriceID,Yhj,Pfj,Lsj,SellPrice,BarCode,Gmp,TID,ManageType,MaxPrice,StorageMin,StorageMax,NormalNum,FactoryID,Mzby,Bqby,YFKCEnable,Grade,Drink,Import,Special,CFbit,Recipe,PassFileNo,Enable,Mark,YKHouseName,YPKW,TSYPFL,PCManage,Sbm,Wbsbm,CommonPYSBM,CommonWBSBM,Pishi,PrintGG,IsKJY,KJYDengji,DDDVal,TYMBM,JxID,ZBYPID,Flag,JSTag,DefUsage,DefDose,MaxDose,DefFrequency,MR_Code,IsZF,YWYM,Glsl,Ljybz,Recycle,MzUsed,BQUsed,Gzhc
--说明:@GWFlag:高危药品标志,@IsBase:基本药物,@IsZCY:中草药,@IsKCWZ:库存物质,@ZBYPBH:招标编号,@YpID:编号,@Name:名称,@CommonName:通用名,@FJSM:附加说明,@WJBM:物价编码,@Gg:规格,@Addr:产地,@YkUnit:单位|药库,@YfUnit:单位|药房,@Zhxs:单位|转换系数,@PriceID:PriceID,@Yhj:进价,@Pfj:批价,@Lsj:零价,@SellPrice:销售价格,@BarCode:条形码,@Gmp:Gmp,@TID:TID,@ManageType:药品管理类型,@MaxPrice:最高限价,@StorageMin:最低库存,@StorageMax:最大库存,@NormalNum:常规进货量,@FactoryID:FactoryID,@Mzby:药房摆药|门诊,@Bqby:药房摆药|病区,@YFKCEnable:药房摆药|库管,@Grade:药品等级,@Drink:中药饮品,@Import:进口药,@Special:特殊药,@CFbit:处方打印标记,@Recipe:处方药,@PassFileNo:批准文号,@Enable:使能标记,@Mark:备注,@YKHouseName:药品库房,@YPKW:库位,@TSYPFL:TSYPFL,@PCManage:批次管理,@Sbm:拼音编码,@Wbsbm:五笔编码,@CommonPYSBM:通用拼音编码,@CommonWBSBM:通用五笔编码,@Pishi:皮试,@PrintGG:打印规格,@IsKJY:抗菌药|是/否,@KJYDengji:抗菌药|等级,@DDDVal:抗菌药|DDD,@TYMBM:TYMBM,@JxID:JxID,@ZBYPID:ZBYPID,@Flag:Flag,@JSTag:激素标记,@DefUsage:缺省用法,@DefDose:缺省剂量,@MaxDose:每日最大剂量,@DefFrequency:缺省频度,@MR_Code:费用代码,@IsZF:自费标记,@YWYM:一物一码,@Glsl:管理数量,@Ljybz:廉价药标志,@Recycle:可回收,@MzUsed:门诊启用标记,@BQUsed:病区启用标记,@Gzhc:高值耗材
create proc DrugMaterial.vDMItem_InsertXML
@Version int,@XMlData text
as
BEGIN
declare @idoc int
exec sp_xml_preparedocument @idoc output,@XMLData
select *
into #Paras
from openxml(@idoc,'/root/paravalue',1)
with(gwflag varchar(1),isbase bit,iszcy bit,iskcwz bit,zbypbh varchar(15),ypid int,name varchar(50),commonname varchar(50),fjsm varchar(30),wjbm varchar(15),gg varchar(30),addr varchar(50),ykunit varchar(10),yfunit varchar(10),zhxs int,priceid int,yhj money,pfj money,lsj money,sellprice money,barcode varchar(30),gmp int,tid int,managetype varchar(10),maxprice money,storagemin money,storagemax money,normalnum money,factoryid int,mzby bit,bqby bit,yfkcenable bit,grade smallint,drink bit,import bit,special bit,cfbit bit,recipe bit,passfileno varchar(50),enable bit,mark varchar(20),ykhousename varchar(20),ypkw varchar(20),tsypfl smallint,pcmanage bit,sbm varchar(10),wbsbm varchar(10),commonpysbm varchar(10),commonwbsbm varchar(10),pishi bit,printgg varchar(30),iskjy bit,kjydengji varchar(10),dddval money,tymbm varchar(15),jxid int,zbypid int,flag int,jstag bit,defusage varchar(20),defdose varchar(10),maxdose varchar(10),deffrequency varchar(10),mr_code varchar(20),iszf bit,ywym bit,glsl money,ljybz bit,recycle bit,mzused bit,bqused bit,gzhc bit)
EXEC sp_xml_removedocument @idoc
insert into DrugMaterial.vDMItem (GWFlag,IsBase,IsZCY,IsKCWZ,ZBYPBH,YpID,Name,CommonName,FJSM,WJBM,Gg,Addr,YkUnit,YfUnit,Zhxs,PriceID,Yhj,Pfj,Lsj,SellPrice,BarCode,Gmp,TID,ManageType,MaxPrice,StorageMin,StorageMax,NormalNum,FactoryID,Mzby,Bqby,YFKCEnable,Grade,Drink,Import,Special,CFbit,Recipe,PassFileNo,Enable,Mark,YKHouseName,YPKW,TSYPFL,PCManage,Sbm,Wbsbm,CommonPYSBM,CommonWBSBM,Pishi,PrintGG,IsKJY,KJYDengji,DDDVal,TYMBM,JxID,ZBYPID,Flag,JSTag,DefUsage,DefDose,MaxDose,DefFrequency,MR_Code,IsZF,YWYM,Glsl,Ljybz,Recycle,MzUsed,BQUsed,Gzhc)
select GWFlag,IsBase,IsZCY,IsKCWZ,ZBYPBH,YpID,Name,CommonName,FJSM,WJBM,Gg,Addr,YkUnit,YfUnit,Zhxs,PriceID,Yhj,Pfj,Lsj,SellPrice,BarCode,Gmp,TID,ManageType,MaxPrice,StorageMin,StorageMax,NormalNum,FactoryID,Mzby,Bqby,YFKCEnable,Grade,Drink,Import,Special,CFbit,Recipe,PassFileNo,Enable,Mark,YKHouseName,YPKW,TSYPFL,PCManage,Sbm,Wbsbm,CommonPYSBM,CommonWBSBM,Pishi,PrintGG,IsKJY,KJYDengji,DDDVal,TYMBM,JxID,ZBYPID,Flag,JSTag,DefUsage,DefDose,MaxDose,DefFrequency,MR_Code,IsZF,YWYM,Glsl,Ljybz,Recycle,MzUsed,BQUsed,Gzhc
from #Paras
END
go
---------------------------------------------------------------------------------
SQL:='Update 养老机构月报表 Set '+
'分支='+#39+sFCID+#39+','+
'年月='+#39+YearMonth+#39+','+
'入住老人数='+#39+Edit1.Text+#39+','+
'平均收费标准='+#39+Edit56.Text+#39+
' where ID='+#39+ID+#39;
if Not DataModule1.SocketConnection1.AppServer.MyQuery(SQL,err)
then MessageBox(self.handle,pchar('更新数据出错: '+err),'错误',MB_OK+MB_ICONERROR);
我是写了一个更新的函数,用于DBGrid更新数据。这样就方便了。
UpDataOneDBGridEh(DBGridEh1,'老人床位分布'); // DBGrid 保存更新一条数据
对于已经修改了的多条数据的全部更新,可以模仿ApplyUpdates(0)的机制,自己重新写了一个方法代替它。
UpDataDBGridEh(DBGridEh1,'老人床位分布'); // DBGrid 保存更新一条数据