我想从一个表里读出一些数据段写如另外一个表,如何实现,我的代码如下:
query1.close;
query1.sql.clear;
query1.sql.add('select * from road where road_id='''+Edit2.Text+'''');
query1.Open;
Query1.RequestLive := True;
if not query1.eof then
begin
roadnum:=Query1.fieldbyname('road_num').AsString;
roadstation:=Query1.fieldbyname('road_station').AsString;
Query1.Next;
end;
try
query2.close;
query2.sql.clear;
query2.sql.add('select * from carpostion');
query2.Open;
query2.RequestLive := True;
if not query2.eof then
begin
query2.RequestLive := True;
query2.Edit;
query2.fieldbyname('car_num').AsString:=Edit1.text;
query2.fieldbyname('road_id').AsString:=Edit2.text;
query2.fieldbyname('road_num').AsString:=roadnum;
query2.fieldbyname('road_station').AsString:=roadstation;
query2.fieldbyname('diao_data').AsString:=DateTimePicker1.Format;
Query2.post;
messagebox(handle,'成功!','提示',mb_ok);
end;
except
MessageDlg('失败',mtError,[mbok],0);
Exit;
end;
我执行的时候没有任何反映,那个carpostion的表内容也没任何变化(起初表是空的)
roadnum 和roadstation是我定义的两个字符类型的变量。
说白了,我就是想从road表中以关键字road_id为标志,调出记录中某些数据写入到carpostion表中。不知道这样写哪儿错了,或者谁能告诉我别的方法!!
query1.close;
query1.sql.clear;
query1.sql.add('select * from road where road_id='''+Edit2.Text+'''');
query1.Open;
Query1.RequestLive := True;
if not query1.eof then
begin
roadnum:=Query1.fieldbyname('road_num').AsString;
roadstation:=Query1.fieldbyname('road_station').AsString;
Query1.Next;
end;
try
query2.close;
query2.sql.clear;
query2.sql.add('select * from carpostion');
query2.Open;
query2.RequestLive := True;
if not query2.eof then
begin
query2.RequestLive := True;
query2.Edit;
query2.fieldbyname('car_num').AsString:=Edit1.text;
query2.fieldbyname('road_id').AsString:=Edit2.text;
query2.fieldbyname('road_num').AsString:=roadnum;
query2.fieldbyname('road_station').AsString:=roadstation;
query2.fieldbyname('diao_data').AsString:=DateTimePicker1.Format;
Query2.post;
messagebox(handle,'成功!','提示',mb_ok);
end;
except
MessageDlg('失败',mtError,[mbok],0);
Exit;
end;
我执行的时候没有任何反映,那个carpostion的表内容也没任何变化(起初表是空的)
roadnum 和roadstation是我定义的两个字符类型的变量。
说白了,我就是想从road表中以关键字road_id为标志,调出记录中某些数据写入到carpostion表中。不知道这样写哪儿错了,或者谁能告诉我别的方法!!
解决方案 »
- 收藏 不显示删除回复显示所有回复显示星级回复显示得分回复 dxDbgrid控件根据内容显示颜色
- Datagrid里怎么实现添加并不要自动保存
- 如果将Excel中的图片复制到Image框中.
- 用指针类型的变量能从数据库中提取表中的内容吗。
- ClientDataSet1调用存储过程时,第一次调用正常,当第二次调用时,输入参数丢失,谁知道怎么解决?
- 问个很傻的问题——————在线等待!!!
- 怎樣讓DBGrid出現一個按鈕,單擊該按鈕後跳出另一個窗體,並將另一窗體中的數據傳回該DBGrid的單元格中?
- 如何用DELPHI将ASP编写的程序改为ISAPI,或DLL形式?
- 如何在COM中传递OleVariant数据,C++Builder
- 有什么API函数能调用MID音乐?
- delphi中怎么样进行日期类的计算,如(2003/05/17-2002/06/21)
- 不好意思,初级问题,怎么SQL来查询日期型的数据呢?急,在线等!!
if not query2.eof then
begin
后面的根本就不执行;
那你怎么能用query2.Edit;呢?
是不是该用append
with Query1 do
beginend;
with Query2 do
beginend;
Query2应当用Insert或用Append;
此外不能用if not query2.eof then,这样的话执行不了的。
这样以后有了数据,我修改这条数据的时候,那还是用insert这个方法能实现么?
望指教
if not query1.eof then
...你的代码
else
....insert into 语句。