问一下query查询的结果后,我想对其中的一些数据进行编辑后再用dbgrid显示出来,不知道要怎么做哦,
查询出来后好像都是read状态,没办法编辑
帮帮我哦
查询出来后好像都是read状态,没办法编辑
帮帮我哦
解决方案 »
- 利用webbrowser怎么获取或控制javascript doPostBack(ajax)回传页面中的元素
- 动态多选中
- 100分:非常奇怪的存储过程问题!
- 在FR3中,如何直接打印而不出现打印对话框
- **** 并非老调重弹!是没有好的方案!Row cannot located for updating.Some values may have been changed since it was last read
- 如何在cxgrid中添加或是删除一行
- 关于SQL语句在DELPHI中使用的不同之处
- 哪里enlib有下载?
- 我的DELPHI7怎么没NMUDP ??
- 大家有什么好一点的有“语法检查”的控件
- delphi中实现excel的树形编号???
- Delphi FastReport问题
ADOQuery.FieldByName('aaa').ReadOnly := False;
adoquery.edit;adoquery.fields.field[1].value := 12;
begin
Edit;
.............编辑修改.............
Post;
end;
begin
Edit;
FieldByName('address').Value:=Trim(sValue);
Post;
end;
只有在OPEN后才能这样修改的。
with OraQuery1 do
begin
//
end
with OraSQL1 do
begin
//
end上面是我的用法了,我用的是ODAC连接的Oracle数据库~!或许对楼主有参考价值~!
begin
//
end
这个中间要怎么写啊,没用过这个控件还有,听说query有个RequestLive属性,为什么我在delphi里面找不到这个属性?
begin
close;
sql.Clear;
tempsql := 'select * from t_table';
sql.Add(tempsql);
open; first;
while not eof do
begin
edit;
if fieldbyname('PersonSum').ReadOnly then
fieldbyname('PersonSum').ReadOnly := false;
fieldbyname('PersonSum').Value := '20';
post;
next;
end;
end
end;用这种方式,为什么修改数据没有成功
begin
close;
sql.Clear;
tempsql := 'select * from t_table';
sql.Add(tempsql);
open; first;
while not eof do
begin
edit;
if fieldbyname('PersonSum').ReadOnly then
fieldbyname('PersonSum').ReadOnly := false;
fieldbyname('PersonSum').Value := '20';
post;
next;
end;
end
end; 用这种方式,为什么修改数据没有成功
query 中的查询必须是单表,不能是复合表即查询两个以上的表,如果是多个表必须再另加个query1, 根据当前query行中的列值在query1中修改
begin
close;
sql.Clear;
tempsql := 'select * from t_table';
sql.Add(tempsql);
open; first;
while not eof do
begin
edit;
if fieldbyname('PersonSum').ReadOnly then
fieldbyname('PersonSum').ReadOnly := false;
fieldbyname('PersonSum').Value := '20';
post;
next;
end;
end
end;
procedure TForm1.ADOQuery1CalcFields(DataSet: TDataSet);
begin
DataSet.fieldbyname('PersonSum').Value := '20';
end;
事件里写好了。