数据库转换的问题 ,在线等待。 (50分)

  • 主题发起人 主题发起人 jcjy
  • 开始时间 开始时间
J

jcjy

Unregistered / Unconfirmed
GUEST, unregistred user!
各位:
是这样的,开始我用的sql 数据库,要在win2000+sql 2000中才能使用,
现在程序用了一段时间了,发现有部分区电脑档次太底了,没法安装上述软件。
现在只好改用access数据库作为后台支持。它就能在win98下运行了。

如果要动态的连接数据库,那么我将作很多的工作用于数据库的连接修改。
请教各位,我将如何做,才既能满足用户的要求又省事呢?数据库没有作要求。

我现在用ado 控件对不加密的access控件直接连接时没问题。
但我用ado 控件对加了密的access数据库进行直接连接时出现下面的错误,
可以直接连接吗?请教如何解决。
主要是:初始代提供者时发生错误,测试连接失败,无法启动应用程序。
工作组丢失,或是已被其它用户以独占方式打开。
如果不能直接连接,对odbc进行配置后如何才能用installshild进行配置的发布呢?
 
我也遇到过这种问题,解决方法是,在设计时不要连接数据库,在程序运行时再连接,同样的
数据库同样的引擎(JET 40),在设计时就是不能连接???!!!
 
用动态的
ADOConn.ConnectionString:='Provider=Microsoft.Jet.OLEDB.4.0;Data Source='+ExtractFilePath(Application.ExeName)+'Data/data.mdb;Persist Security Info=False;Jet OLEDB:Database Password=yourpassword';
 
用动态的,在程序中设置哪些项,格式能不能说细点?
 
在ado里选一个ADOConnection控件,然后在ConnectionString里把需要的参数设置好,
复制下来就行了。
 
你连接数据库不要在IDE中指定呵
在需要连接数据库时
先设定
ADOConnection1.ConnectionString:='Provider=Microsoft.Jet.OLEDB.4.0;Data Source='+ExtractFilePath(Application.ExeName)+'Data/data.mdb;Persist Security Info=False;Jet OLEDB:Database Password=yourpassword';
上面只要把你的MDB文件位置和密码指定
然后设置ADOConnection1.connected:=true;
就可以了!
 
//------------------------------------------------------------------------------
//Splash.pas,Splash.dfm
//闪现窗体,并联接数据库
//------------------------------------------------------------------------------

unit Splash;

interface

uses
Windows, Messages, SysUtils, Classes, Controls, Forms,
Dialogs, ExtCtrls,Global,ADODB, MainDM, Graphics, StdCtrls;

type
TSplashForm = class(TForm)
dlgOpen: TOpenDialog;
imgBack: TImage;
private
{ Private declarations }
public
{ Public declarations }
end;

function ShowSplashForm:boolean;

var
SplashForm: TSplashForm;

implementation

{$R *.dfm}
function ShowSplashForm:boolean;
//显示闪现窗口,同时连接数据库,如果失败则选择其它数据库
function OpenDBFile:boolean;
//选择数据库
begin
result:=true;
SplashForm.dlgopen.FileName:=sDataBaseName;
if SplashForm.dlgopen.Execute then
sDataBaseName:=SplashForm.dlgopen.FileName
else
result:=false;
Application.ProcessMessages;
end;
begin
Screen.Cursor:=crHourGlass;
result:=true;
SplashForm:=TSplashForm.Create(Application);
SplashForm.Show;
SplashForm.Refresh;
if length(sDataBaseName)=0 then
sDataBaseName:=ExtractFilePath(application.ExeName)
+SDefDataBaseName;
if not FileExists(sDataBaseName) then
result:=OpenDBFile;
while result do
try
MainDMForm:=TMainDMForm.Create(Application);//MainDMForm为数据窗体
with MainDMForm do
begin
if CNMain.Connected then CNMain.Close;//CNMain为ADOConnection
//SConnectionString='Provider=Microsoft.Jet.OLEDB.4.0;Data Source=%s;Jet OLEDB:Database Password=%s;';
CNMain.ConnectionString:=format(
SConnectionString,[sDataBaseName,GetPassWord]);
CNMain.Open;
end; //with
except
msgbox(SEOpenDBFile,SAppName,mb_iconstop);
result:=OpenDBFile;
end; //try
if not result then exit;
Application.ProcessMessages;
// Sleep(3000);
Screen.Cursor:=crDefault;
SplashForm.Close;
SplashForm.Free;
end;

end.
 
各位:
是这样的,开始我用的sql 数据库,要在win2000+sql 2000中才能使用,
现在程序用了一段时间了,发现有部分区电脑档次太底了,没法安装上述软件。
现在只好改用access数据库作为后台支持。它就能在win98下运行了。
如果要动态的连接数据库,那么我将作很多的工作,用于数据库的连接修改了。
请教各位,我将如何做,才既能满足用户的要求又省事呢?数据库没有作要求。
 
sql改ACESS只是改个连接方式而已,其它的都一样。
 
to 白河愁
是呀!不过我现在出了一个不能连接的问题呀,如果要动态连接的话,
不是所有的连接设置都要改吗?而且,我的程序中有一部分是在设计期就
连上了的,又怎么办呀?
 
370849
其实,有好多的答案,我刚才用的180M的检索的,你也可以自己察看一下,
我本人很少用数据库,也是最近才学习sql的
 
多人接受答案了。
 
后退
顶部