delphi修改数据表中的信息
修改数据表中的信息
1.用SQL语句UPDATE对数据表中的数据进行修改
SQL语句UPDATE可以对数据进行单个修改,也可以对数据进行批量修改,只要在WHERE子句后面加上适当的条件即可。
下面利用SQL语句UPDATE对数据表中的指定记录进行修改。
操作步骤如下:
(1)运行Delphi,在窗体中添加TADOConnection、TADOQuery、TDataSource、TButton、TDateTimePicker、TComboBox和TDBGrid等组件。
(2)主要程序代码如下:
with ADOQuery1 do
begin
Close;
SQL.Clear;
SQL.Add('Update MR_Update SET Name= :A,DTime= :B,Sex= :C,Wage= :D
where Id='+Edit1.Text);
Parameters.ParamByName('A').Value:=Edit2.Text;
Parameters.ParamByName('B').Value:=DateToStr(DateTimePicker1.Date);
Parameters.ParamByName('C').value:=ComboBox1.Text;
Parameters.ParamByName('D').Value:=Edit3.Text;
ExecSQL;
end;
2.用Edit方法对数据表中的数据进行修改
对数据进行修改时,可以用TADOQuery组件的Edit方法对当前记录的信息进行修改,FieldByName方法所指定的字段类型必须与表中的字段类型相一致,并用Post方法保存修改后的信息。
下面利用Edit方法对数据表中的当前记录进行修改。
操作步骤如下:
(1)运行Delphi,在窗体中添加TADOConnection、TADOQuery、TDataSource、TButton、TDateTimePicker、TComboBox和TDBGrid等组件。
(2)主要程序代码如下:
with ADOQuery1 do
begin
Close;
SQL.Clear;
SQL.Add('Select Id as 编号,Name as 姓名,Sex as 性别,DTime as 工作时间,Wage as 工资 from MR_Update where id='+Edit1.Text);
Open;
Edit; //修改表中的记录
FieldByName('姓名').AsString:=Edit2.Text;
FieldByName('性别').AsString:=ComboBox1.Text;
FieldByName('工作时间').AsDateTime:=DateTimePicker1.Date;
FieldByName('工资').AsCurrency:=StrToInt(Edit3.Text);
Post;
end;
3.批量修改数据
对数据进行批量修改,主要是WHERE子句后面的条件范围,在使用年限对数据进行修改时,直接用日期进行计算,首先要获得年限,可以用YEAR( )函数来获取日期的年份,然后进行计算。如用YEAR(2006-12-1)-YEAR(1986-1-26)所得到的年限为20年。
下面利用SQL语句UPDATE对数据进行批量修改。在获取工龄时,应用YEAR( )函数获取工作时间的年份和当前时间的年份,然后用当前年份减去工作年份,便可获得工龄。
操作步骤如下:
(1)运行Delphi,在窗体中添加TADOConnection、TADOQuery、TDataSource、TButton、和TDBGrid等组件。
(2)主要程序代码如下:
with ADOQuery1 do
begin
Close;
SQL.Clear;
SQL.Add('Update MR_Update SET Wage= Wage+ :A where (year(getdate())-year(DTime))>'+Edit1.Text);
Parameters.ParamByName('A').Value:=Edit2.Text;
ExecSQL;
end;