procedure TForm1.Button4Click(Sender: TObject);
begin
query1.sql.clear;
query1.sql.add(' Declare @CustId Int ');
query1.sql.add(' Declare @Discount Dec(5,3) ');
query1.sql.add(' Declare CustCursor Cursor For ');
query1.sql.add(' Select CustId,Discount ');
query1.sql.add(' From Customer ');
query1.sql.add(' Order by CustId ');
query1.sql.add(' For Update of Discount ');
query1.sql.add(' Open CustCursor ');
query1.sql.add(' Fetch Next ');
query1.sql.add(' From CustCursor ');
query1.sql.add(' Into @CustId,@Discount ');
query1.sql.add(' If (@@Fetch_Status=0) begin ');
query1.sql.add(' If (@Discount=0.0) begin ');
query1.sql.add(' Delete From Customer ');
query1.sql.add(' Where Current of CustCursor ');
query1.sql.add(' end ');
query1.sql.add(' Else if (@Discount>.5) Begin ');
query1.sql.add(' Update Customer ');
query1.sql.add(' Set Discount=.5 ');
query1.sql.add(' Where Current of CustCursor ');
query1.sql.add(' End ');
query1.sql.add(' End ');
query1.sql.add(' Close CustCursor ');
query1.sql.add(' Deallocate CustCursor ');
query1.open;
end;
begin
query1.sql.clear;
query1.sql.add(' Declare @CustId Int ');
query1.sql.add(' Declare @Discount Dec(5,3) ');
query1.sql.add(' Declare CustCursor Cursor For ');
query1.sql.add(' Select CustId,Discount ');
query1.sql.add(' From Customer ');
query1.sql.add(' Order by CustId ');
query1.sql.add(' For Update of Discount ');
query1.sql.add(' Open CustCursor ');
query1.sql.add(' Fetch Next ');
query1.sql.add(' From CustCursor ');
query1.sql.add(' Into @CustId,@Discount ');
query1.sql.add(' If (@@Fetch_Status=0) begin ');
query1.sql.add(' If (@Discount=0.0) begin ');
query1.sql.add(' Delete From Customer ');
query1.sql.add(' Where Current of CustCursor ');
query1.sql.add(' end ');
query1.sql.add(' Else if (@Discount>.5) Begin ');
query1.sql.add(' Update Customer ');
query1.sql.add(' Set Discount=.5 ');
query1.sql.add(' Where Current of CustCursor ');
query1.sql.add(' End ');
query1.sql.add(' End ');
query1.sql.add(' Close CustCursor ');
query1.sql.add(' Deallocate CustCursor ');
query1.open;
end;
解决方案 »
- 100求教quickreport问题
- 在delphi中怎么按照一定的时间间隔动态的画出数据变化曲线?
- QuickRep1,如何设置其纸张大小?
- delphi 修改导入表实现DLL注入
- 使用ListView控件,第一列Item不能居中,为什么???
- 如何调用FastReport报表?
- 闲着没事,发现了一个问题,怪。
- delphi如何实现 【新浪微博 登陆 和 关注他人】
- var MyReg: TRegistry;为什么有错,
- 如何使application.message对话框处于所有窗口的最顶层?
- 安装组件的时候出现这错误请问原因,Error] button1.pas(1): Unit identifier 'SymbolChecker' does not match
- 急,急,急!打印小票?!
最好在数据库中建立存储过程,然后使用TStoredProc。