一、DBGrid+DBNavigator控件实现
直接在DBGrid表格中操作数据,增删改查,相当于直接在数据库可视化界面中操作数据,结果同步
-
界面创建:DBGrid(表格控件)、DBNavigator(操作表格控件)
-
连接数据库:ADOConnection(连接数据库),ADOQuery(查询数据库)、DataSource(数据源)
具体连接顺序
1、 ADOConnection控件中的ConnectionString属性中配置连接数据库的字符串,这里我使用的是Oracle数据库
2、ADOQuery配置连接ADOConnection,设置SQL语句,查询数据
3、DataSource连接ADOQuery,DBGrid连接DataSource,绑定数据源
4、设置完成之后,将ADOQuery控件中的Active属性值改为True,输入账号密码登录成功,可以看到表格中数据更新。
- 操作表格:直接在表格中操作或者操作DBNavigator控件
1、直接在表格中操作:双击表格中需要修改的单元格,修改,此处我将第一行对象的年龄改成100,可以看到数据库中数据同步修改。
2、DBNavigator控件绑定DataSoure,运行,点击控件中的按钮操作数据即可。
二、DBGrid+SQL代码实现
设置增删改查的按钮,对按钮的点击事件进行设置
按钮依次对应代码
//查询
procedure TForm1.Button1Click(Sender: TObject);
var
s:string;
begin
s:='SELECT * FROM student where 1=1';
if Edit1.Text<>'' then
begin
s:=s+' and id= '+Edit1.Text;
end;
with ADOQuery1 do
begin
Close;
SQL.Clear;
SQL.Add(s);
Open;
end;
end;
//修改
procedure TForm1.Button2Click(Sender: TObject);
var
s:string;
begin
s:='update student set age=18 where id=1';
with ADOQuery1 do
begin
Close;
SQL.Clear;
SQL.Add(s);
ExecSQL;
queryAll();
end;
//增加
procedure TForm1.Button3Click(Sender: TObject);
var
s:string;
begin
s:='insert into student(id,sno,name,age,telephone) values(8,666,''哈哈哈'',18,333)';
with ADOQuery1 do
begin
Close;
SQL.Clear;
SQL.Add(s);
ExecSQL;
end;
queryAll();
end;
//删除
procedure TForm1.Button4Click(Sender: TObject);
var
s:string;
begin
s:='delete from student where name=''哈哈哈''';
with ADOQuery1 do
begin
Close;
SQL.Clear;
SQL.Add(s);
ExecSQL;
end;
queryAll();
end;
//查询函数
procedure queryAll();
var
s:string;
begin
s:='select * from student';
with Form1.ADOQuery1 do
begin
Close;
SQL.Clear;
SQL.Add(s);
Open;
end;
end;