文章目录
效果图
Delphi+SqlServer+增删改查
增加
删除
新建一个Querry控件,用于delete
语句。
d
{点击 删除}
procedure TForm1.btn3Click(Sender: TObject);
begin
qry4.close;
qry4.Parameters.ParamByName('name').value:=edt5.text;
qry4.execsql;
//展示删除后结果
qry1.Close;
qry1.Open; //用于执行查询并返回结果
end;
查找
s
{点击 查找}
procedure TForm1.btn2Click(Sender: TObject);
begin
qry3.close;
qry3.Parameters.ParamByName('name').value:=edt5.text;
ds1.DataSet:=qry3; //将查找的结果展示
qry3.Open;
end;
查看全部
s
{点击 查看全部}
procedure TForm1.btn5Click(Sender: TObject);
begin
ds1.dataset:=qry1; //select * from huiyuan;
end;
修改
实现一个修改功能,其中点击"修改"按钮后,将原始内容展示在一个新的Form上,并在修改内容后保存,通常涉及以下几个步骤:
- 创建新的Form:首先,你需要在Delphi IDE中创建一个新的Form,用于显示和编辑数据。
- 传递数据到新Form:当点击"修改"按钮时,你需要将当前选中的数据(例如,从数据库查询结果中选择的记录)传递给新Form。
- 在新Form中显示数据:在新Form中,根据传递的数据,设置相应的控件(如TEdit, TComboBox等)的值。
- 编辑数据:用户在新Form中编辑数据。
- 保存数据:编辑完成后,用户点击"保存"按钮,将数据更新回数据库。
- 关闭新Form:保存数据后,关闭新Form并返回到主Form。
步骤 1: 创建新的Form
在Delphi IDE中,右键点击项目,选择"Add New" -> "Form...",然后命名并创建新的Form(例如TfrmEditData)。
步骤 2: 设计新Form
在新Form上放置必要的控件,如TEdit(用于文本输入)、TButton(用于保存和关闭)等。
步骤 3: 传递数据到新Form
在主Form的"修改"按钮点击事件中,你需要编写代码来实例化新Form,并传递数据。例如,如果你正在使用一个TDataSet(如TADOQuery)来管理数据,你可以这样做:
delphi
{选中某行进行 修改}
procedure TForm1.btn4Click(Sender: TObject);
var
form2:TForm2;
begin
if not qry1.Eof and not qry1.Bof then
begin
form2 := TForm2.Create(Self);
form2.CurrentID := qry1.FieldByName('id').AsInteger; // 设置CurrentID
......
form2.ShowModal; // 显示模态Form,等待用户操作完成
form2.Free; // 如果使用Show,则同上
end;
end;
在新Form中设置CurrentID为公共属性,方便两个form之间传递主键id。
j
public
{ Public declarations }
CurrentID: Integer; // 公开属性
步骤 4: 在新Form中显示数据
delphi
//显示选中的数据
with Form2 do
begin
edt1.Text:=Form1.qry1.FieldByName('name').AsString;
edt2.Text:=Form1.qry1.FieldByName('rank').AsString;
edt3.Text:=IntToStr(Form1.qry1.FieldByName('reward').AsInteger);
edt4.Text:=IntToStr(Form1.qry1.FieldByName('goldcoin').AsInteger);
end;
步骤 5: 编辑和保存数据
在新Form上,添加"保存"和"关闭"按钮,并为它们编写事件处理程序。在"保存"按钮的事件处理程序中,你可以使用TADOQuery(或任何你正在使用的数据库访问组件)来更新数据库中的记录。
delphi
{点击 保存}
procedure TForm2.btn4Click(Sender: TObject);
begin
qry1.Parameters.ParamByName('name').Value := edt1.Text;
qry1.Parameters.ParamByName('rank').Value := edt2.Text;
qry1.Parameters.ParamByName('reward').Value := StrToInt(edt3.Text);
qry1.Parameters.ParamByName('goldcoin').Value := StrToInt(edt4.Text);
qry1.Parameters.ParamByName('id').Value := CurrentID; // 你需要知道当前记录的ID
qry1.ExecSQL; // 或使用其他方法来执行更新
// 提示用户保存成功,并关闭Form
ShowMessage('数据保存成功!');
Close;
//刷新
form1.qry1.close;
form1.qry1.open;
end;
步骤 6: 关闭新Form
在"关闭"按钮(或Form的OnClose事件)的事件处理程序中,你可以简单地调用Close方法来关闭Form。
完整代码
代码在这。