这边是不是欺生啊 ?为为什么偶的问题总是没人愿意答(100分)

  • 主题发起人 主题发起人 beadly
  • 开始时间 开始时间
B

beadly

Unregistered / Unconfirmed
GUEST, unregistred user!
with ADOCommand1 do begin
CommandText:='delete salaryin where no=:NoParam';
CommandType:=cmdText;
Parameters[0].Value:=DBEdit1.Text;
AdoDataset1.Recordset:=Execute;
end;
執行以上語句時,報錯ADODataset1:RecordSet is not open 但能 達到效果 AdoDataset1.Recordset.Open後要怎麼樣寫呀?

哪個函數取得報表的總頁數?
 
ADODataSet1.Recordset := ADOCommand1.Execute;
 
多谢光监,都 试过啦,报同样错啦
 
>> CommandText:='delete salaryin where no=:NoParam';
您的adocommand1执行了一句不返回数据集的语句。
也就是说:
AdoDataset1.Recordset:=Execute;
等价于: AdoDataset1.Recordset := NULL;
你还想打开什么?
 
多谢Another_eYes,那应该怎样写这句SQL,偶只想通过它来delete 一条记录
 
with ADOCommand1 do begin
CommandText:='delete salaryin where no=:NoParam';
CommandType:=cmdText;
Parameters[0].Value:=DBEdit1.Text;
Execute;
end;
ADODataSet1.Requery; //看你的意思是删除记录后刷新当前dataset吧? 那就加这句。 如果没这个需要, 就当我这句没写

 
AdoCommand1 是一个adoquery 吧,先写成这样 'delete salaryin where no=:NoParam'
然后
with ADOCommand1 do
begin
close;
Parameters[0].Value:=DBEdit1.Text;
exec;
end;

这样就可以了。
 
关于第二个问题: 如何取得报表的总页数。
用quickreport的话, 有一个很恶心的办法: 即打两次,先调用QuickRep1.Prepare, 然后就可以知道报表的总页数了。 你把它保存在一个变量里。 然后再调用QuickRep1.Print或Preview重新打一次。 这时你就可以利用刚才保存下来的变量了。
报表的总页数存放在 quickrep1.QRPrinter.PageCount中
 
感谢 Another_eYes
对于1,还是报错.
salaryin 列名无效!????
 
呵呵,偶看错了
 
后退
顶部