奇怪的TQuery组件的问题
不知为什么,当查询时候,加了order by 命令排序以后,每次向数据库里写数据的时候老是提示 DataSet为只读,不能修改,而不用排序就没有这个问题。这是怎么回事?该如何解决?请高手指点!谢谢先! 问题点数:20、回复次数:10Top
1 楼shangxy2638(伤心雨)回复于 2004-05-04 16:54:01 得分 18
大大你是如何写呀???Top
2 楼foxphoenix(run)回复于 2004-05-05 02:46:11 得分 2
代码贴出来瞧瞧Top
3 楼wakala(*白木)回复于 2004-05-05 10:52:02 得分 0
我试过随便建立一个数据库,放上TQuery、TDataSource、TDBGrid控件,
建立连接,将TQuery的RequestLive设为true,则,数据库可以修改。
但是当我在TQuery控件加入SQL语句:select *from mydata order by myname这样的语句时,TQuery控件就编程只读,不能修改数据了。
Top
4 楼shangxy2638(伤心雨)回复于 2004-05-05 16:24:09 得分 0
大大你再加一个UpdateSQL1然后将Query1的UpdateObject弄成UpdateSQL1,以后你要添加记录就在UpdateSQL1的insterSQl中写了!!!Top
5 楼wakala(*白木)回复于 2004-05-05 21:15:44 得分 0
不是要添加记录,是要修改记录!怎么改里面好像只要insert和delete啊Top
6 楼wakala(*白木)回复于 2004-05-06 21:45:39 得分 0
upTop
7 楼wakala(*白木)回复于 2004-05-07 13:58:37 得分 0
怎么没人回答啊.Top
8 楼shangxy2638(伤心雨)回复于 2004-05-07 14:24:18 得分 0
哦那!难道你没看到UpdateSQL还有ModifySQL吗?我上次忘了打出来!!!
顺便给你一段我的代码吧
UpdateSQL1->ModifySQL->Clear() ;
UpdateSQL1->ModifySQL->Add("update usercount set otheruser='"+Edit1->Text+"',kj='"+Edit2->Text+"',phone='"+Edit3->Text+"' where id="+Query2->FieldByName("id")->AsInteger );
UpdateSQL1->ExecSQL(ukModify);
Refsh();Top
9 楼wakala(*白木)回复于 2004-05-07 15:51:06 得分 0
这样就不能直接这样赋值了?如:Query1->fields->fields[i]
感觉很麻烦啊.Top
10 楼wakala(*白木)回复于 2004-05-08 15:08:33 得分 0
有没有其他办法啊?
Top




