在程序中动态生成access数据库,然后用Ado去连接它,怎么做
解决方案 »
- FastReport的一些问题
- ppReport1.print和ppReport1.printreport打印有什么区别?
- 帮忙看看,这是什么加密算法 ,解决另开贴送分
- 如何去掉Image图片中背景色,如白色。
- 更改ICON的问题
- 如何保护自己的软件,对自己的软件进行加密?(除了使用加密狗)
- 怎么样才能象C#或VB那样从DEBUG窗口输出调试信息
- (解決后給分的貼)展擴ComboBox組件,要有源碼 第二個100分(還有一個)
- 帮忙看看程序!谢谢
- 我安装了DELPHI7.0,但在VCL找不到QREPORT这页了。怎样把QREPORT组件加进来?
- 一个DLL中ADO数据源的问题!!!!!!!!!
- 应用程序调用一个已为另一线程整理的界面?(急!在线等待!)
var
ADOXCat: OleVariant;
tmpPath: String;
begin
Result :=True;
if FileExists(FileName)=True then Exit; //文件已经存在
tmpPath :=ExtractFilePath(FileName);
Delete(tmpPath,Length(tmpPath),1);//去掉最后一个反斜杠
if not DirectoryExists(tmpPath) then CreateDir(tmpPath);//路径不存在创建它
try
ADOXCat :=CreateOleObject('ADOX.Catalog');
ADOXCat.Create(Format(ADOXCatCreateString, [FileName, Password]));
except
Result :=False;
end;//try ..except
end;
//创建一个数据表
function CreateOneTable(AQuery: TADOQuery; sqlText: String): Boolean;
begin
try
Result :=True;
if sqlText ='' then Exit;
with AQuery do
begin
Active :=False;
SQL.Text :=sqlText;
Prepared :=True;
ExecSQL;
end;//end of with .. do
except
//
Result :=False;
end;//end of try ..except
end;{连接数据库}
function Do_DBConnection(adoConn: TADOConnection; LinkStr: WideString): Boolean;
{连接数据库}
function Do_DBConnection(adoConn: TADOConnection; LinkStr: WideString): Boolean;
begin
Result :=True;
try
with adoConn do
begin
Connected :=False;
CursorLocation :=clUseClient;//使用这种类型的好处是,利用缓冲的优点
LoginPrompt :=False;//连接时不出现登录对话框
Mode :=cmReadWrite;
Provider :='Microsoft.Jet.OLEDB.4.0';
ConnectionString :=LinkStr;
KeepConnection :=False;
Connected :=True;
end;//with ..do
except
MessageBox(Application.Handle, PChar('数据库连接失败,该连接参数代码如下:' +
#13#10 + LinkStr + #13#10'有无法解决的问题请与开发商联系!'),'Error',
MB_OK + MB_ICONSTOP);
Result :=False;
end;//try ..except
end;
ADOXCatCreateString: WideString ='Provider=Microsoft.Jet.OLEDB.4.0;'
+ 'Data Source=%s;'//数据库名(包括路径)
+ 'Jet OLEDB:Database Password=%s'; //= mdbPassword{TADOConnection 连接数据库的参数}
ADOLinkString ='Provider=Microsoft.Jet.OLEDB.4.0;'
+ 'Password=%s;' //用户工作组(*.mdw)密码
+ 'User ID=%s;' //用户工作组(*.mdw)用户名Admin
+ 'Data Source=%s;' //数据库文件(*.mdb)位置
+ 'Persist Security Info=True;'
+ 'Mode=ReadWrite;' // 数据库打开方式
+ 'Extended Properties="";' //默认值为空
+ 'Jet OLEDB:System Database="";' //用户工作组文件
+ 'Jet OLEDB:Registry Path="";' //注册路径
+ 'Jet OLEDB:Database Password=%s;' //数据库密码
+ 'Jet OLEDB:Engine Type=1;'
+ 'Jet OLEDB:Database Locking Mode=1;'
+ 'Jet OLEDB:Global Partial Bulk Ops=2;'
+ 'Jet OLEDB:Global Bulk Transactions=1;'
+ 'Jet OLEDB:New Database Password=%s;' //?密码
+ 'Jet OLEDB:Create System Database=False;'
+ 'Jet OLEDB:Encrypt Database=False;'
+ 'Jet OLEDB:Don''t Copy Locale on Compact=False;'
+ 'Jet OLEDB:Compact Without Replica Repair=False;'
+ 'Jet OLEDB:SFP=False';{表结构}
Tableinfo_Struct: String ='create table tableinfo('
+#13#10' tab_index int not null default 0,'//序号
+#13#10' tab_name varchar(32) not null unique,'//表名称
+#13#10' tab_records int default 0,'//记录数
+#13#10' tab_tasks int default 0,'//任务数
+#13#10' tab_datetime varchar(32) not null default now(),'//表创建时间
+#13#10' tab_last_date varchar(32) null,'//修改时间
+#13#10' tab_fields varchar(254) null,'//可视字段
+#13#10' tab_re memo null)';//表的描述