操作一张表,窗口有个RadioGroup是条件选择,DBGrid的记录我从数据库取出来了,DBGrid可以选中多条记录,当我按添加的时候,怎样把DBGrid的记录写到DBGrid1中,注:(不能直接操作表), 然后把改变的数据写进数据表中.
procedure TfrmGodownPrintParent.tbtnQueryClick(Sender: TObject); //查询按钮
begin
sqlstr:='SELECT * from BKDB where 7=7';
if RadioGroupPrint.ItemIndex=0 then
begin
temp:=sqlstr+' and printed=''B'''; //准备打印
sqlstr :=sqlstr+' and ((printed is null)or(printed='''')) '; //未打印
sqlstr :=sqlstr+' Order By BKGODN_NO,BKCGO_ID';
temp :=temp+' Order By BKGODN_NO,BKCGO_ID';
end
else
begin
temp :=sqlstr+' and ((printed is null)or(printed='''')) ';
sqlstr :=sqlstr+' and printed=''T'''; //已打印
sqlstr :=sqlstr+' Order By BKGODN_NO,BKCGO_ID';
temp :=temp+' Order By BKGODN_NO,BKCGO_ID';
end;
querydatasm(ADOQuery,sqlstr); //执行查询并将数据显示在DBGrid
querydatasm(ADOQuery1,temp); //执行查询并将数据显示在DBGrid1
end;procedure TfrmGodownPrintParent.BitBtnDownClick(Sender: TObject); //添加按钮
i:integer;
begin
if ADOQuery.IsEmpty then
MessageDlg('不存在未打印的入库工作单,请检查!', mtInformation,[mbOk],0)
else
begin
try
for i:=0 to DBGrid.SelectedRows.Count -1 do
begin
//DBGrid.DataSource.DataSet.Book:=DBGrid.selectedrows.Items[i];
//DBGrid.DataSource.DataSet.Edit;
//DBGrid.DataSource.DataSet.FieldByName('PRINTED').Value:='B';
//DBGrid.DataSource.DataSet.Post;
//DBGrid.DataSource.DataSet.Delete; //先把DBGrid选中的几条记录中的RPINTED字段改成'B',然后把这几条记录删除,写到数据库中,请问这里应该怎么写
end;
sendDatasA(ADOQuery,'select * from BKDB'); //把ADOQuery中的记录写进数据库中
finally
querydatasm(ADOQuery1,temp); //再执行查询并将数据显示在DBGrid1
end;
end;
procedure TfrmGodownPrintParent.tbtnQueryClick(Sender: TObject); //查询按钮
begin
sqlstr:='SELECT * from BKDB where 7=7';
if RadioGroupPrint.ItemIndex=0 then
begin
temp:=sqlstr+' and printed=''B'''; //准备打印
sqlstr :=sqlstr+' and ((printed is null)or(printed='''')) '; //未打印
sqlstr :=sqlstr+' Order By BKGODN_NO,BKCGO_ID';
temp :=temp+' Order By BKGODN_NO,BKCGO_ID';
end
else
begin
temp :=sqlstr+' and ((printed is null)or(printed='''')) ';
sqlstr :=sqlstr+' and printed=''T'''; //已打印
sqlstr :=sqlstr+' Order By BKGODN_NO,BKCGO_ID';
temp :=temp+' Order By BKGODN_NO,BKCGO_ID';
end;
querydatasm(ADOQuery,sqlstr); //执行查询并将数据显示在DBGrid
querydatasm(ADOQuery1,temp); //执行查询并将数据显示在DBGrid1
end;procedure TfrmGodownPrintParent.BitBtnDownClick(Sender: TObject); //添加按钮
i:integer;
begin
if ADOQuery.IsEmpty then
MessageDlg('不存在未打印的入库工作单,请检查!', mtInformation,[mbOk],0)
else
begin
try
for i:=0 to DBGrid.SelectedRows.Count -1 do
begin
//DBGrid.DataSource.DataSet.Book:=DBGrid.selectedrows.Items[i];
//DBGrid.DataSource.DataSet.Edit;
//DBGrid.DataSource.DataSet.FieldByName('PRINTED').Value:='B';
//DBGrid.DataSource.DataSet.Post;
//DBGrid.DataSource.DataSet.Delete; //先把DBGrid选中的几条记录中的RPINTED字段改成'B',然后把这几条记录删除,写到数据库中,请问这里应该怎么写
end;
sendDatasA(ADOQuery,'select * from BKDB'); //把ADOQuery中的记录写进数据库中
finally
querydatasm(ADOQuery1,temp); //再执行查询并将数据显示在DBGrid1
end;
end;
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货