我的系统是用Delphi7编写的,数据库用的是SQL Server,连接数据用的是ADO!(就20分,下次加)谢谢(20分)

  • 主题发起人 主题发起人 dabing
  • 开始时间 开始时间
D

dabing

Unregistered / Unconfirmed
GUEST, unregistred user!
我的系统是用Delphi7编写的,数据库用的是SQL Server,连接数据用的是ADO!
做安装盘时遇到问题,希望各位大侠指教:
1.如何自动建立数据库(指安装程序自动完成)?
2.使用ADO是不是就能自动连到建立好的数据库上,要不要配置了,如果要怎么自动配置?
谢谢!
 
找一程序您玩玩,自己搞的也许用得着
http://csbsoft.35123.net/down/src/SQLManager_U.rar
程序安装完成后,建立ado的connectionstring并保存到ini文件或注册表,程序启动时读出这人字符串赋给adoconnection.connectionstring
Ado自动配置行不通,一定要用户参与才行,因为只有用户知道他的SQL的验证方式,是通过windows安全认证还是通过数据库认证,数据库管理员sa是否更改或是否设置了密码。首先要保存用户能登录SQL数据库
 
通过数据库参数(ServerName, UserName, Password)建立连接字符串连接到SQL Server的master库,然后执行安装数据库脚本安装数据库。
通过数据库参数(ServerName, UserName, Password, DataBaseName)连接到已建立的数据库上。数据库参数除DataBaseName外由用户输入。
 
chenshaizi
你好!你说得我还是有点搞不清呢~~ 你能告诉我你的qq吗?我就剩下20分了~没钱了!!
谢谢了~~~我的qq:53560256!!这个问题急死我了~
 
1.用Sql语句删除、创建数据库、表
Create Database [Name]创建库
Drop Database [Name]删除库
Create Table [Name]创建表
Drop Table [Name]删除表
 
cqjkwqj
老兄你回答的是怎么建库~我要的是怎么在安装程序的时候自动的建库
 
你可以在你建的安装盘中指定你用来新建库表的程序一安装好就自动执行它,安装都有自动执行某个程序的功能.
 
然后你在新建库表的的小程序中通过SQL语句建立新库,这样你就可以让主程序连接上数据库,我想这种方法是可行的
 
jarvis100
我把sql建库的脚本放在安装包里能执行吗?
 
我觉得要能在本机上自动建库(没有用户参与),必须满足以下两个条件之one
NO.1: 用户安装SQL数据库时,选择了“使用windows身份认证”;
NO.2: 用户安装SQL数据库时,选择了“使用windows身份认证或使用SQL SERVER 身份认证”并且SQL的SA用户的密码为空;
做一没有窗体的应用程序SetDBName.exe,做安装程序的时候,让安装程序把应用程序的安装路径写到注册表或ini文件里,这里用一个名为myini.ini的ini文件,设置安装程序在安装完成时自动运行SetDBName.exe,下面说一下的解决方法(假设数据库名称为:YourDBName,SetDBName.exe运行时从myini.ini里读出数据库文件名,如:C:/abc/YourDBName_Data.MDF,数据库日志就不用了。):
var
success:boolean;
myini:tinifile;
myDBfile:string;
begin
success:=false;
try
myini:=tinifile.create(extractfilepath(application.exename)+'myini.ini');
myDBfile:=myini.readstring('aaa','myini','');
finally
myini.free;
end;
with TADOQuery.Create(nil)do
begin
close;
ConnectionString:='Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False';

sql.Text:='sp_attach_single_file_dB '+QuotedStr( myDBfile)+','+QuotedStr(YourDBName);
try
try
ExecSQL;
success:=true;
except
try
close;
ConnectionString:='Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa';

execsql;
success:=true;
close;
except
close;
end;
end;
if not success then

begin
ConnectionString:='Provider=SQLOLEDB.1;Password='+InputBox('请输入数据库用户SA的密码','请输入数据库用户SA的密码','')+';Persist Security Info=True;User ID=sa'
execsql;
end;
finally
free;
end;
不好意思程序代码有点乱,也没有调试,但这是思路,也是可行的办法,
本人很菜,QQ:10772221
 
鍏勫紵浠?紝鎴戝拰浠栫殑闂??涓
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
730
SUNSTONE的Delphi笔记
S
S
回复
0
查看
738
SUNSTONE的Delphi笔记
S
后退
顶部