delphi 调用存储过程—总结
在网上搜了很多方法? 希望大侠能在这做个总结
我的存储过程CREATE PROC P2
(@Acc_No VARCHAR(20),
@Acc_Date DATETIME
)
AS
INSERT INTO Db_AccBookCheck(Acc_No,Acc_Date,Today_Money,Yesterday_Money)SELECT B.Acc_No,A.Acc_Date , (B.Today_Money+ISNULL(A.Mo,0)) As Today_Money,(B.Today_Money) AS yesterday_Money
FROM
(SELECT Acc_No, Acc_Date,SUM(In_Money-Out_Money) AS Mo
FROM Db_Accbook
WHERE Acc_Date >= DATEADD(DD,-1,@Acc_Date) AND Acc_Date<@Acc_Date GROUP BY Acc_No,Acc_Date) A RIGHT OUTER JOIN
(SELECT Acc_No,Acc_Date, Today_Money
FROM Db_AccBookCheck
WHERE Acc_Date=DATEADD(DD,-1,@Acc_Date)
) B ON A.Acc_No=B.Acc_No
GO根据 ACc_No 和 Acc_Date 想求出今日余额和昨日余额
请大侠把自己的方法多用出来瞧瞧!!
不知有谁用过MSStoredProc这个控件没有
在网上搜了很多方法? 希望大侠能在这做个总结
我的存储过程CREATE PROC P2
(@Acc_No VARCHAR(20),
@Acc_Date DATETIME
)
AS
INSERT INTO Db_AccBookCheck(Acc_No,Acc_Date,Today_Money,Yesterday_Money)SELECT B.Acc_No,A.Acc_Date , (B.Today_Money+ISNULL(A.Mo,0)) As Today_Money,(B.Today_Money) AS yesterday_Money
FROM
(SELECT Acc_No, Acc_Date,SUM(In_Money-Out_Money) AS Mo
FROM Db_Accbook
WHERE Acc_Date >= DATEADD(DD,-1,@Acc_Date) AND Acc_Date<@Acc_Date GROUP BY Acc_No,Acc_Date) A RIGHT OUTER JOIN
(SELECT Acc_No,Acc_Date, Today_Money
FROM Db_AccBookCheck
WHERE Acc_Date=DATEADD(DD,-1,@Acc_Date)
) B ON A.Acc_No=B.Acc_No
GO根据 ACc_No 和 Acc_Date 想求出今日余额和昨日余额
请大侠把自己的方法多用出来瞧瞧!!
不知有谁用过MSStoredProc这个控件没有
解决方案 »
- 在线等两个不同的Access数据转移!!!解决立刻结贴
- 如何取sql表或exel表中的数据,用notes自动发送邮件,求助!
- BusinessSkinForm 什么版本最好用???
- indy的idTCP组件中,是否有类似于D6自带的Scocket控件的data属性
- 如何在delhpi中显示‘有图片的word文档’?
- 对象的类方法create和对象方法create有什么不同呢?
- 请问如何用不同的语言来开发同一个软件,100分相送?
- 请问使用fastreport如何在一行中打印多列数据?
- 如何将adodataset中的结果付给adotable
- 关于informax的连接
- cxGrid 求助
- delphi 指针
begin
Close;
ProcedureName := 'P2';
Parameters.Refresh;
Parameters.ParamByName('@Acc_No').Value := 'adfdsf';
Parameters.ParamByName('@END_DATE').Value := formatdatetime('yyyy-mm-dd',now);
open;
procedure TDaAccBookCheckEditorForm.cxButton1Click(Sender: TObject);
begin
with MSStoredProc1 do
begin
try
Prepare;
Params.ParamByName('@Acc_No').AsString := cxDBButtonEdit1.Text;
Params.ParamByName('@Acc_date').AsDateTime := StrToDateTime(cxDBDateEdit1.Text);
ExecProc;
except
ShowMessage('Fields Error');
end;
end;
inherited;
end;
用的是 MSStoredProc1 ; 提示无法插入重复索引键; 但表里之前绝对是没有记录啊