程序安装后连接数据库问题,来者有分!

wangwei8117 2004-10-15 03:02:36
以前使用过C++Builder做过简单的数据库开发,现在公司想做管理系统,我想先在本机上做,然后在在其他机器安装!
现在的问题是,我做的时候在程序中是连接本机的数据库的,以后安装的时候在其他机器上要连接服务器上的数据库!那我现在做的时候应该怎么做才能使以后在安装的时候连接到服务器上的数据库呢!我用的是sql server 2000,谢谢大家帮忙,不够分再加!
...全文
155 18 打赏 收藏 转发到动态 举报
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
krakan 2004-10-17
  • 打赏
  • 举报
回复
void __fastcall TDBC::Button1Click(TObject *Sender)
{
//动态配置数据库连接
DBConnection->ConnectionString = PromptDataSource(NULL,"");
//把数据库连接信息保存到.ini文件中
ini = new TIniFile( ChangeFileExt( Application->ExeName, ".INI" ) );
ini->WriteString( "Info", "DBConfigration",DBConnection->ConnectionString);
delete ini;
MessageBox(this->Handle,"信息设定成功!","系统提示",MB_ICONINFORMATION);
DBConnection->LoginPrompt = false;
DBConnection->Open();
if(DBConnection->Connected)
ShowMessage("已建立连接");
else
ShowMessage("连接已断开");
DBConnection->Close();
}

void __fastcall TForm::Button2Click(TObject *Sender)
{//根据保存的数据库连接信息,连接数据库
TIniFile *ini = new TIniFile(ChangeFileExt(Application->ExeName, ".INI" ));
DBConnection2->Close();
DBConnection2->ConnectionString = ini->ReadString( "Info", "DBConfigration", "" );
DBConnection2->Open();
if(DBConnection2->Connected)
ShowMessage("已建立连接");
else
ShowMessage("连接失败");
delete ini;
}
ch_builder 2004-10-16
  • 打赏
  • 举报
回复
配置一下不就成了,其实象楼上飘雪流风说的就可以
wangwei8117 2004-10-16
  • 打赏
  • 举报
回复
好象你们讲的都是在把服务器固定的吧,我想让安装的时候配置数据库路径的,可以在局域网中任意选择的,应该在程序中怎么做!我自己开发本机器的时候程序怎么写啊,写好了打包时候还要改写吗!
taxi520 2004-10-16
  • 打赏
  • 举报
回复
!本人比较菜,不能帮你,不好意思。
你们能不能在讲详细一点啊
可能我以后也可以用到啊
谢谢大家!

jsujs982 2004-10-16
  • 打赏
  • 举报
回复
ktcserver(飘雪流风)的方法是最简单的啊
要是你不怕麻烦的话你就用midas
这样就更好了
milkwayhong 2004-10-15
  • 打赏
  • 举报
回复
直接用ADO 的UDL文件配置连接,在局域网,服务器固定就可行
ynotgo 2004-10-15
  • 打赏
  • 举报
回复
一般是读取配置文件里的连接字符串(txt或ini都可以)
faliiii 2004-10-15
  • 打赏
  • 举报
回复
可以让程序修改注册表自动生成一个系统数据源
ktcserver 2004-10-15
  • 打赏
  • 举报
回复
晕~直接用ADO 的UDL文件配置连接撒,然后在ADOConnect里面ConnectString中用FILE= UDL文件名
然后连接就可以了
hailin10 2004-10-15
  • 打赏
  • 举报
回复
新建一个记事本,命名为LinkSet
在里面写入
[LinkInfo]
server=*** //服务器名
database=***** //数据库名
user=*** //登陆用户
password=***** //密码
保存就行了
wangwei8117 2004-10-15
  • 打赏
  • 举报
回复
是不是在程序安装的时候把数据库服务器等信息写在这个里面,然后在以后使用的时候就到这个文件里面去读取数据库的信息再连接!是这样吗,这个ini文件怎么做啊,有其他方法吗?谢谢!
Friecin 2004-10-15
  • 打赏
  • 举报
回复
用一个.ini存放服务器名字,然后自己加载:
TIniFile *RegSQL = new TIniFile( ExtractFilePath( Application->ExeName )+ "SQLSrvHostName.ini");
AnsiString SQLServerHostName = RegSQL->ReadString( "NetworkCfg", "SQLServerHostName", "" );
delete RegSQL;

然后:

ADOConn->ConnectionString = "Provider=SQLOLEDB.1;Password=;Persist Security Info=True;User ID=sa;Initial Catalog=KTVManage;Data Source=" + SQLServerHostName +";Use Procedure for Prepare=1;Auto Translate=True;Packet Size=4096;Use Encryption for Data=False;Tag with column collation when possible=False";
ADOConn->Open();

注意变量SQLServerHostName
wangwei8117 2004-10-15
  • 打赏
  • 举报
回复
那我在开发的时候应该怎么在程序中连接数据库呢,怎么做才能让安装的时候选择连接数据库呢!本人比较菜,谢谢大家支持!
3996906 2004-10-15
  • 打赏
  • 举报
回复
为什么不把连接字符串直接放在ini文件里哦~~~~
mochang222 2004-10-15
  • 打赏
  • 举报
回复
只要一个文件就行拉。直接访问服务器

[PersonalInfo]
server=*** //服务器名
database=***** //数据库名
user=*** //登陆用户
password=***** //密码
wuxq7311 2004-10-15
  • 打赏
  • 举报
回复
你可以将数据库连接信息记录在一个临时文件里啊,当程序第一次打开时读取临时文件,然后直接临时文件!你安装的时候只是在临时文件里添加数据库的连接信息就是了!

或者在程序上让他手动连接数据库,也就是让他输入数据库名,然后确定!
3996906 2004-10-15
  • 打赏
  • 举报
回复
用ado控件
wangwei8117 2004-10-15
  • 打赏
  • 举报
回复
就是我现在开发的程序想在安装在别的机器上的时候不把数据库也弄过去,让安装的时候连到数据库上面的数据库,应该怎么做!我在程序中怎么进行连接?

1,178

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder 数据库及相关技术
社区管理员
  • 数据库及相关技术社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧