抽了N多的烟还是解决不了这个问题.一个关于动态建立数据模块并且要连接ACCESS数据库的问题.我把所有的分都投入到这个问题上,如果谁解决了,日后可以再开帖子送分

  • 主题发起人 主题发起人 hygsxy
  • 开始时间 开始时间
happy_zhg,
我把Application.Initialize提到了denglu:=Tdenglu.create(nil);前,但编译运行时候提示"找不到可安装的ISAM",以前的错误提示是没了,但又出新的错误.我为了这个小问题几天来没有进展.急啊..............................
 
老兄啊 ,烟要高档的,低档的只会伤神的
 
错误在那一步触发?
mydatamoduleado.adoconnection.connectionstring:=
'provider=microsoft.jet.oledb.4.0;data source='+
extractfilepath(paramstr (0)) +'tushudatabase.mdb'+
';jet oledb:database password=' +';persist secutity false';
这一般是ado版本问题
 
begin
denglu:=Tdenglu.create(nil);//动态创建实例 - >进而触发CREATE事件
denglu.ShowModal;←★★★★★★★★★错误在这错发
//showmessage('ok'); //测试用

下面是截图
http://www.efile.com.cn/efile/hygsxysxyhyg/%BD%D8%CD%BC.bmp
 
出现isam的错误有许多可能,但一般都是初始化文件或ADO的驱动程序有问题。
建议你在ADO的组件上直接连接数据库,并进行测试连接(使用dbgrid显示)。看能否同过。
如果可以连接,将连接字符串直接拷贝到你的程序中。
 
procedure Tdenglu.FormCreate(Sender: TObject);
var
i:integer;
adoquery1:Tadoquery;
adoconnection1:Tadoconnection;
begin
try
label1.Caption:=formatDateTime('yyyy"年"m"月"d"日"', Now)
+'('+formatdatetime('aaaa',date)+')';
//动态创建adoconnection,adoquery
// adoconnection1:=Tadoconnection.create(nil);
//adoconnection1.ConnectionString:=
//'provider=microsoft.jet.oledb.4.0;data source='
//+extractfilepath(paramstr(0))+'tushudatabase.mdb;'+'jet oledb:database password='
//+';persist secutity info=false';
adoquery1:=Tadoquery.create(nil);
adoquery1.ConnectionString:='Provider=Microsoft.Jet.OLEDB.4.0;Data Source=J:/编程/hygsxy/tushudatabase.mdb;Persist Security Info=False';
//adoquery1.connection:=adoconnection1;
with adoquery1 do
begin
sql.clear;
sql.add('select 登陆用户名 from 权限密码表' );
open;
first;
for i:=0 to recordcount-1 do
begin
yonghuming.Items.Add(fieldbyname('登陆用户名').asstring);
next;
end;
close;
end;
finally
;
end;
end;


-------------------------------------------------------------------------------------------
happy_zhg, 你的方法很有效.这样的话,通过了,没错误.看样子是connectionstring='.........'有问题了.帮着再看一下,.
 
问题全部解决.原应也找到了,只是一个字母的错误.我把persist secutity info=false中的secutity写错了,应该是security.,一个小小的字母错误,害人不浅了.
 
多人接受答案了。
 
后退
顶部