用代码实现
1.保存
...
打开(连接)空的access本地文件,
如果需要,动态创建表,字符型,双精度型
变量或者地址内容加入到access
保存
结束
....
2.读取
...
读取数据到变量
...3.如果有表头的操作是好的
4.如果可以存贮任意一类型的备注数据就更完美承诺:可另开帖给予足够的分数
此帖在总分内顶者有分
1.保存
...
打开(连接)空的access本地文件,
如果需要,动态创建表,字符型,双精度型
变量或者地址内容加入到access
保存
结束
....
2.读取
...
读取数据到变量
...3.如果有表头的操作是好的
4.如果可以存贮任意一类型的备注数据就更完美承诺:可另开帖给予足够的分数
此帖在总分内顶者有分
解决方案 »
- 流与Excel文件的读写问题
- 十一月份考的软件设计师终于过了.......呵呵...高兴呀.....
- 拜托,哪位高手指点一下
- 怎样给二维数组批量复制?
- 用delphi写一个自动临视IE窗口的程序,让其自动输入用户名和密码,大家来讨论呀~!!!!!!!!
- 急急如勒令~高手快来吧.~我都已经快~要烦死啦~来了1个2个3个4个个个都牛BI
- 帮个忙,前10位每人5分,半小时结贴。
- 怎样用delphi开发一个关闭程序并保存文件的控件呢?
- 我怎么把他们一一显示出来在listbox里?代码写出来!
- 将鼠标移到label控件上时,字体显示红色,移开时显示黑色。不要用onmousemove来控件。
- ado+mssql2000 怎么对两个以上字段作模糊过滤?
- teechart升级8后问题
adoquery1.sql.text := 'select * from mytable';
adoquery1.open;
变量 := adoquery1.fieldbyname('name').asstring;任意备注类型,如果是文件型的,比如图像,文档之类的,就用
TBlobfield(adoquery1.fieldbyname('bz')).LoadFromFile('文件路径');
如果是纯文字的,就用备注型字段就行了
TBlobField(adoquery1.fieldbyname('bz')).LoadFromStream(stream);
adoquery1.Post;
http://www.delphibbs.com/keylife/iblog_show.asp?xid=14034
{*******************************************}
{*名称: CreateAccessFile *}
{*时间:2007-10-21 *}
{*功能:建立Access文件,如果文件存在则失败 *}
{*参数:FileName文件名字,PassWord密码 *}
{* ForceCreate指定是否强制创建 *}
{*******************************************}
function CreateAccessDB(FileName:String;PassWord:string='';ForceCreate: boolean=false):boolean;
var
AccessDb:OleVariant;
begin
result := true;
if (ForceCreate) and (FileExists(FileName)) then
begin
if DeleteFile(FileName) then
begin
result := false;
exit;
end;
end;
if (not ForceCreate) and (FileExists(FileName)) then
begin
result := false;
exit;
end;
AccessDb:=CreateOleObject('ADOX.Catalog');
AccessDb.Create(format(ConnectionString,[FileName,PassWord]));
AccessDb := Unassigned;
end;procedure GetTableList(AccessDBName: String; var TableList: TStringList;Pwd: string='');//伪代码操作
if not FileExists('Access文件.MDB') then
CreateAccessDB('Access文件.MDB','密码'):boolean;
Con := TADOConnection.Create(nil);
Con.ConnectionString := 'Provider=Microsoft.Jet.OLEDB.4.0;Data Source=Access文件.MDB;Persist Security Info=False';
Con.Open;//打开
TableList := TStringList.Create;
Con.GetTableNames(TableList);//获取表名
//打开表'MyTable';
TbName := 'MyTable';
IsFond := False;
for i := 0 to TableList.Count - 1 do
begin
if CompareStr(TbName,TableList.Strings[i])=0 then
begin
isFond := True;
break;
end;
end;
if not IsFond then //没找到创建
begin
sql := 'create table MyTable (id int,name varchar(10),salary money)';
Con.Execute(Sql);//创建表
end;
//读取
Query := TADOQuery.Create(nil);
Query.COnnection := Con;
Query.Sql.text := 'Select * from MyTable';
Query.Open;
id := Query.FieldBYName('id').asinteger; //读取id
name := Query.FieldByName('name').asstring;//name
//如果需要存储文件等二进制信息,楼主可以使用TBlobField字段,参考楼上信息
unit Unit1;interfaceuses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;type
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;var
Form1: TForm1;
Const
SConnectionString = 'Provider=Microsoft.Jet.OLEDB.4.0;Data Source=%s;'
+'Jet OLEDB:Database Password=%s;';implementation{$R *.dfm}
uses ComObj,ActiveX;
function GetTempPathFileName():string;
//取得临时文件名
var
SPath,SFile:array [0..254] of char;
begin
GetTempPath(254,SPath);
GetTempFileName(SPath,'~SM',0,SFile);
result:=SFile;
DeleteFile(PChar(result));
end;//=============================================================================
// Procedure: CreateAccessFile
// Author : ysai
// Date : 2003-01-27
// Arguments: FileName:String;PassWord:string=''
// Result : boolean
//=============================================================================
function CreateAccessFile(FileName:String;PassWord:string=''):boolean;
//建立Access文件,如果文件存在则失败
var
STempFileName:string;
vCatalog:OleVariant;
begin
STempFileName:=GetTempPathFileName;
try
vCatalog:=CreateOleObject('ADOX.Catalog');
vCatalog.Create(format(SConnectionString,[STempFileName,PassWord]));
result:=CopyFile(PChar(STempFileName),PChar(FileName),True);
DeleteFile(STempFileName);
except
result:=false;
end;
end;//=============================================================================
// Procedure: CompactDatabase
// Author : ysai
// Date : 2003-01-27
// Arguments: AFileName,APassWord:string
// Result : boolean
//=============================================================================
function CompactDatabase(AFileName,APassWord:string):boolean;
//压缩与修复数据库,覆盖源文件
var
STempFileName:string;
vJE:OleVariant;
begin
STempFileName:=GetTempPathFileName;
try
vJE:=CreateOleObject('JRO.JetEngine');
vJE.CompactDatabase(format(SConnectionString,[AFileName,APassWord]),
format(SConnectionString,[STempFileName,APassWord]));
result:=CopyFile(PChar(STempFileName),PChar(AFileName),false);
DeleteFile(STempFileName);
except
result:=false;
end;
end;//=============================================================================
// Procedure: ChangeDatabasePassword
// Author : ysai
// Date : 2003-01-27
// Arguments: AFileName,AOldPassWord,ANewPassWord:string
// Result : boolean
//=============================================================================
function ChangeDatabasePassword(AFileName,AOldPassWord,ANewPassWord:string):boolean;
//压缩数据库并修改ACCESS数据库密码
var
STempFileName:string;
vJE:OleVariant;
begin
STempFileName:=GetTempPathFileName;
try
vJE:=CreateOleObject('JRO.JetEngine');
vJE.CompactDatabase(format(SConnectionString,[AFileName,AOldPassWord]),
format(SConnectionString,[STempFileName,ANewPassWord]));
result:=CopyFile(PChar(STempFileName),PChar(AFileName),false);
DeleteFile(STempFileName);
except
result:=false;
end;
end;procedure TForm1.Button1Click(Sender: TObject);
begin
CreateAccessFile('c:\d.mdb','sss');
end;end.试了一下,这个,测试过了
http://topic.csdn.net/u/20091119/12/c0d4a981-95c8-486c-a31d-eeb074221c06.html?seed=171963023&r=61277275#r_61277275 此帖暂时到此,另开一贴继续讨论 请把上面的地址改为链接