DELPHI操作ACCESS数据库(两种方式噢)dataset与table
来源:互联网 发布:mac os 磁盘清理工具 编辑:程序博客网 时间:2024/06/08 05:21
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ADODB, StdCtrls;
type
TForm1 = class(TForm)
Button1: TButton;
Button2: TButton;
Button3: TButton;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
private
FConnection: TADOConnection;
FDataSet: TADOQuery;
public
constructor Create(AOwner: TComponent); override;
destructor Destroy; override;
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
uses
ActiveX;
const
CONN_JETOLE_P = 'Provider=Microsoft.Jet.OLEDB.4.0;' +
'Data Source=%s;Persist Security Info=False;' +
'Jet OLEDB:Database Password=%s';
//添加数据
procedure TForm1.Button1Click(Sender: TObject);
begin
FDataSet.SQL.Text := 'SELECT * FROM [表名] WHERE 1=0';
FDataSet.Open; //打开
FDataSet.Append; //开始添加数据
FDataSet.FieldByName('字段名1').Value := '值';
FDataSet.Post; //提交,使添加生效
end;
//修改数据
procedure TForm1.Button3Click(Sender: TObject);
begin
FDataSet.SQL.Text := 'SELECT * FROM [表名] WHERE 条件';
FDataSet.Open; //打开
FDataSet.Edit; //开始修改数据
FDataSet.FieldByName('字段名1').Value := '值';
FDataSet.Post; //提交,使添加生效
end;
//删除数据
procedure TForm1.Button2Click(Sender: TObject);
begin
FDataSet.SQL.Text := 'SELECT * FROM [表名] WHERE 条件';
FDataSet.Open; //打开
FDataSet.Delete; //删除当前数据
//也可用 SQL 语句方法删除
FDataSet.SQL.Text := 'DELETE FROM [表名] WHERE 条件';
FDataSet.ExecSQL; //执行 SQL 语句
end;
constructor TForm1.Create(AOwner: TComponent);
begin
inherited;
FConnection := TADOConnection.Create(nil);
FConnection.LoginPrompt := False; //不弹出口令对话框
FConnection.ConnectionString := Format(CONN_JETOLE_P, ['MDB 文件名', '密码,如果没有,则留空']);
FDataSet := TADOQuery.Create(nil);
FDataSet.Connection := FConnection;
end;
destructor TForm1.Destroy;
begin
FreeAndNil(FConnection);
FreeAndNil(FDataSet);
inherited;
end;
initialization
ActiveX.CoInitialize(nil);
finalization
ActiveX.CoUninitialize;
end.
1、采用ADO方式连接,直接文件连接,放入控件即可;
2、使用ADO后,可用相应的类完成SQL语句。
Query: TADOQuery;
Query:= TADOQuery.create(nil);
Query.Connection := adoConnect;
Query.SQL.Clear;
Query.SQL.Add('select * from tab_judge');
try
Query.Open;
except
showmessage('打开数据库错!');
Query.Free;
Exit;
end; //end of try
Query.First;
修改的例子:
adotable1.edit;
adotable1.FieldValues['名字']:='张三';
adotable1.FieldValues['时间']:='2007-9-7'; //注意字段类型
adotable1.FieldValues['地址']:='XX区XX路XX号';
adotable1.post;
删除的例子
adotable1.delete;//注意删除的是记录指针位置的数据
获取数据:
通过移动记录指针,移动到合适的位置然后直接读取
procedure button1click (sender:object);
var
strAddress,strName:String;
dtDate:TDateTime;
begin
adotable.next;//指针向下一条,就是当前记录的下一条记录
strAddress:=adotable1.FieldValues['地址'];
strName:=adotable1.FieldValues['名字'];
dtDate:=adotable1.FieldValues['时间'];
showmessage(strAddress + ' '+ strName + formatDateTime('YYYY-MM-DD',dtDate))
end;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ADODB, StdCtrls;
type
TForm1 = class(TForm)
Button1: TButton;
Button2: TButton;
Button3: TButton;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
private
FConnection: TADOConnection;
FDataSet: TADOQuery;
public
constructor Create(AOwner: TComponent); override;
destructor Destroy; override;
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
uses
ActiveX;
const
CONN_JETOLE_P = 'Provider=Microsoft.Jet.OLEDB.4.0;' +
'Data Source=%s;Persist Security Info=False;' +
'Jet OLEDB:Database Password=%s';
//添加数据
procedure TForm1.Button1Click(Sender: TObject);
begin
FDataSet.SQL.Text := 'SELECT * FROM [表名] WHERE 1=0';
FDataSet.Open; //打开
FDataSet.Append; //开始添加数据
FDataSet.FieldByName('字段名1').Value := '值';
FDataSet.Post; //提交,使添加生效
end;
//修改数据
procedure TForm1.Button3Click(Sender: TObject);
begin
FDataSet.SQL.Text := 'SELECT * FROM [表名] WHERE 条件';
FDataSet.Open; //打开
FDataSet.Edit; //开始修改数据
FDataSet.FieldByName('字段名1').Value := '值';
FDataSet.Post; //提交,使添加生效
end;
//删除数据
procedure TForm1.Button2Click(Sender: TObject);
begin
FDataSet.SQL.Text := 'SELECT * FROM [表名] WHERE 条件';
FDataSet.Open; //打开
FDataSet.Delete; //删除当前数据
//也可用 SQL 语句方法删除
FDataSet.SQL.Text := 'DELETE FROM [表名] WHERE 条件';
FDataSet.ExecSQL; //执行 SQL 语句
end;
constructor TForm1.Create(AOwner: TComponent);
begin
inherited;
FConnection := TADOConnection.Create(nil);
FConnection.LoginPrompt := False; //不弹出口令对话框
FConnection.ConnectionString := Format(CONN_JETOLE_P, ['MDB 文件名', '密码,如果没有,则留空']);
FDataSet := TADOQuery.Create(nil);
FDataSet.Connection := FConnection;
end;
destructor TForm1.Destroy;
begin
FreeAndNil(FConnection);
FreeAndNil(FDataSet);
inherited;
end;
initialization
ActiveX.CoInitialize(nil);
finalization
ActiveX.CoUninitialize;
end.
1、采用ADO方式连接,直接文件连接,放入控件即可;
2、使用ADO后,可用相应的类完成SQL语句。
Query: TADOQuery;
Query:= TADOQuery.create(nil);
Query.Connection := adoConnect;
Query.SQL.Clear;
Query.SQL.Add('select * from tab_judge');
try
Query.Open;
except
showmessage('打开数据库错!');
Query.Free;
Exit;
end; //end of try
Query.First;
____________________________________________------------------------_________________________________________________
方式二
对数据的读写操作时针对adotable的操作
adoTable1.Append; //新增记录
adotable1.Edit; //修改当前记录指针记录
adotable1.Post; //提交新增或者修改的记录
adotable1.Cancel; //取消对记录的修改
adotable1.Delete; //删除记录
新增的例子:
adotable1.append; //append方式
adotable1.FieldValues['名字']:='张三';
adotable1.FieldValues['时间']:='2007-9-7'; //注意字段类型
adotable1.FieldValues['地址']:='XX区XX路XX号';
adotable1.post;
adoTable1.Append; //新增记录
adotable1.Edit; //修改当前记录指针记录
adotable1.Post; //提交新增或者修改的记录
adotable1.Cancel; //取消对记录的修改
adotable1.Delete; //删除记录
新增的例子:
adotable1.append; //append方式
adotable1.FieldValues['名字']:='张三';
adotable1.FieldValues['时间']:='2007-9-7'; //注意字段类型
adotable1.FieldValues['地址']:='XX区XX路XX号';
adotable1.post;
方法小二:
adotable1.Insert;//这个要转换字符串比较麻烦
adotable1.FieldByName('用户名').AsString:=edit1.Text;
adotable1.FieldByName('密码').asstring:=edit2.Text;
adotable1.Post;
dbgrid1.Refresh;
修改的例子:
adotable1.edit;
adotable1.FieldValues['名字']:='张三';
adotable1.FieldValues['时间']:='2007-9-7'; //注意字段类型
adotable1.FieldValues['地址']:='XX区XX路XX号';
adotable1.post;
删除的例子
adotable1.delete;//注意删除的是记录指针位置的数据
获取数据:
通过移动记录指针,移动到合适的位置然后直接读取
procedure button1click (sender:object);
var
strAddress,strName:String;
dtDate:TDateTime;
begin
adotable.next;//指针向下一条,就是当前记录的下一条记录
strAddress:=adotable1.FieldValues['地址'];
strName:=adotable1.FieldValues['名字'];
dtDate:=adotable1.FieldValues['时间'];
showmessage(strAddress + ' '+ strName + formatDateTime('YYYY-MM-DD',dtDate))
end;
- DELPHI操作ACCESS数据库(两种方式噢)dataset与table
- java链接数据库access两种方式
- access数据库的两种驱动方式
- DELPHI中操作ACCESS数据库
- DELPHI中操作ACCESS数据库
- DELPHI中操作ACCESS数据库
- Android数据库两种操作方式介绍: SQLite与ORMLite
- Android数据库两种操作方式介绍: SQLite与ORMLite
- Android数据库两种操作方式介绍: SQLite与ORMLite
- c#两种方式 dataset 与byte[] 字节的转换
- C++ 创建ACCESS数据库的两种方式
- MyBatis操作数据库的两种方式
- Delphi之通过ADOX操作access数据库
- Delphi之通过ADOX操作access数据库
- Java如何连接Access数据库(两种方式实例代码)
- Java如何连接Access数据库(两种方式实例代码)
- Java如何连接Access数据库(两种方式实例代码)
- Java如何连接Access数据库(两种方式实例代码)
- Delphi sql server 主从表例子
- Delphi中accesss实现树形结构查询系统
- delphi Access中只取时间的日期部分的函数
- Delphi 将JPG图片上传到SqlServer数据库里
- delphi的万能数据库操作
- DELPHI操作ACCESS数据库(两种方式噢)dataset与table
- Access数据库中图像的存储和显示
- Delphi 汉字转拼音
- Delphi汉字简繁体转换代码
- SDK module 文件中应注意的
- 拼音首字符序列来实现检索功能
- delphi判断字符是否是汉字
- “千千静听”滚动标题栏,非常简单!
- delphi判断一个字符是否为汉字的最佳方法