|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
网上找找,找到鱼C了,希望这里的大神能帮看看,谢谢!
我做了个更新数据的窗体,用的是ACCESS数据库,控件是DBGridEh,问题是,点修改时,数据会更新,但是会将表内有的所有数据修改,也就是表内有多少行就是将全部的于修改成为一样的内容,麻烦高手帮看看,谢谢!(年纪有点大,万望有高手能耐心指导下,谢谢!
代码如下:
//点击DBGridEh表,将值显示在edit栏:
procedure TForm3.DBGridEh1DblClick(Sender: TObject);
begin
datetimepicker1.DateTime:=dbgrideh1.DataSource.DataSet.FieldValues[dbgrideh1.Columns[1].FieldName];
edit1.text:=dbgrideh1.DataSource.DataSet.FieldValues[dbgrideh1.Columns[2].FieldName];
edit2.text:=dbgrideh1.DataSource.DataSet.FieldValues[dbgrideh1.Columns[3].FieldName];
combobox1.Text:= dbgrideh1.DataSource.DataSet.FieldValues[dbgrideh1.Columns[4].FieldName];
BitBtn3.Enabled:=True;
end;
//修改更新
procedure TForm3.BitBtn3Click(Sender: TObject);
begin
With ADOQuery1 do
begin
ADOquery1.Close;
ADOquery1.SQL.Clear;
ADOquery1.SQL.Text:='Update jhlb SET [date]=:date,完成状态=:完成状态,是否完成=:是否完成,计划内容=:计划内容 where id';
ADOquery1.Parameters.ParamByName('date').Value:=datetostr(DateTimePicker1.Date);
ADOquery1.Parameters.ParamByName('是否完成').Value:=combobox1.Text;
ADOquery1.Parameters.ParamByName('计划内容').Value:=edit1.Text;
ADOquery1.Parameters.ParamByName('完成状态').Value:=edit2.Text;
ADOQuery1.ExecSQL;
ADOquery1.Close;
ADOquery1.SQL.Clear;
ADOquery1.SQL.Add('Select ID as ID,date as 日期,计划内容 as 工作计划,完成状态 as 完成状态,是否完成 as 完成情况 From jhlb where id');
ADOquery1.Open;
end;
BitBt
|
|