我的问题怎么没有人回答?是因为分少吗?我那个ID只有11分了,只好重新申请了一个!(200分)

  • 主题发起人 主题发起人 helpmehelpme
  • 开始时间 开始时间

chlei:你的方法对我不太可行,以为我还有好多NOTNULL的字段需要接受DBGRID里输入的值,处理一条记录也许可以!

bbkxjy:
其实我早就用另外的方法实现了!
我就是不明白为什么QUERY的UPDATERECORD事件里为什么不能象在TABLE的BEFORPOST事件里一样给字段赋值!
要是我没有用CACHEDUPDATE的话,就不会有这样的问题,但是我需要一次提交一个月的数据,所以才采用这种方式!

还有如果设置了UPDATEOBJECT为UPDATESQL1后,REQUESTLIVE:=FALSE,要提交数据是不是得在UPDATERECORD事件里手工处理?

非常感谢!
我先去吃饭了!
 
使用 UpdateObject 时 RequestLive 要设为 False,在 BeforePost 事件中应该可以改字段
的值,但当 CachedUpdates 为 True 时,在 UpdateRecord 事件中只能访问字段的 OldValue,
NewValue 和 CurValue,不应访问 Value 属性。按你的情况应是设置 NewValue 为 edit.Text。
或你可以试试在 BeforePost 中设置 Value 为 edit.Text。
第二个问题的答案是肯定的。如果 Query 中连结了两个表,还必须用两个 UpdateSQL 组件,
分别设好两个表的 Insert, Modify 和 Delete SQL,在 UpdateRecord 事件中分别更新两
个表。
procedure TdmPmms110.QryMA_CALENDARUpdateRecord(DataSet: TDataSet; UpdateKind:
TUpdateKind; var UpdateAction: TUpdateAction);
begin
QryMA_CALENDAR.UpdateObject := UpdateSQL1;
UpdateSQL1.SetParams(UpdateKind);
UpdateSQL1.ExecSQL(UpdateKind);//更新连结的第一个表

QryMA_CALENDAR.UpdateObject := UpdateSQL2;
UpdateSQL2.SetParams(UpdateKind);
UpdateSQL2.ExecSQL(UpdateKind);//更新连结的第二个表
UpdateAction := True;
end;
 
bbkxjy:我明白了!THANK YOU !!!
麻烦你再去一下http://www.delphibbs.com/delphibbs/dispq.asp?lid=557882那里分也给你!
 
helpmehelpme:
谢谢了!不过还是把分留着下次问问题吧,给 lostlastlove(你自己) ?:)
 
helpmehelpme是我临时申请的ID,因为我的ID上只有11分!
 
呵呵,我知道的,用 HelpmeHelpme 这个 ID 把分都给 lostlastlove 这个 ID,你又有分
了。这样子,申请新 ID,用新 ID 提空问题,用老 ID 马上去回答这个问题,马上分分数,
将新 ID 的分数都交给老 ID,再删除新 ID,那老的 ID 的分数不是越来越多?;)
 
SONIE:帮助了一个需要帮助的人,你不觉得很快乐吗?
不要以为我没有看书,书上讲的太少。
你以为我很高兴这种问问题的方式吗?
多累人哪!

我是对UPDATESQL了解不多,既然有人肯帮我,我问为什么不问?
我是对TQUERY也了解不多,所以我还要问!
我对DELPHI了解也不多,下次找你问!

我本来就很菜,要不然也不会只有11分的可用分!



 
小生受教了!
不过既然delphi的help里面已经有足够的信息,还有demo,source,
为什么还有人编书,还有人开论坛?每个人抱着Delphi的Help啃不都成了高手了么。

关键是难懂啊!
你会了认为很简单,可是我不会啊!

 
后退
顶部