请大家帮忙提提意见
我写了个进销存管理系统,用的是ADO,SQL数据库,现在想把它改成C/S结构的,不知道可行吗?是要重新写过还是只要修改一下?
不好意思,学DELPHI才2个多月,没接触过网络方面的编程,还请大家多多提点了
问题点数:80、回复次数:35Top
1 楼l_xiaofeng(行到水窮處,坐看雲起時!)回复于 2002-12-10 10:53:58 得分 0
不需要重新写。Top
2 楼wrwr8111(路灯)回复于 2002-12-10 11:02:31 得分 0
是吗?
那需要怎么改动呢?是否就是用上ADODATESAT?Top
3 楼thisisxutao(感觉跟我走)回复于 2002-12-10 11:11:20 得分 0
ADOCONNECTION 连到服务器Top
4 楼wrwr8111(路灯)回复于 2002-12-10 11:48:42 得分 0
连接的话只能在程序里改,要是在做成安装程序以后装到每台机器上,服务器又要改了,怎么办?Top
5 楼wrwr8111(路灯)回复于 2002-12-10 12:51:53 得分 0
还是请各位老大帮忙指点一下了Top
6 楼wrwr8111(路灯)回复于 2002-12-10 14:17:32 得分 0
请大家帮帮忙,知道的就指点一下,不知道的也帮忙UP一下。Top
7 楼rewqrewq(方方)回复于 2002-12-10 14:48:39 得分 0
服务器不用改阿,为什么要改服务器?
只要用ADOConnection连到服务器上就可以了。
如果服务器不固定的话(多个),就做一个登陆框,每次运行程序就进行登陆。
可以在注册表中记录该机器是否登陆过服务器,如果曾经登陆成功则不出现登陆框;如果从来没有登陆成功,则出现登陆框。Top
8 楼wrwr8111(路灯)回复于 2002-12-10 15:08:49 得分 0
其实我主要就是这里搞不明白:因为在程序里面ADOConnection的连接的数据库就已经确定了是不是,那我打好包后,再到别的机器上安装这个程序不是就不能改动程序了吗?那ADOConnection连接的数据库怎么办?我现在写程序的这台电脑肯定不能做为服务期的。Top
9 楼wrwr8111(路灯)回复于 2002-12-10 15:44:30 得分 0
upTop
10 楼wjlsmail(小脖领)回复于 2002-12-10 16:02:32 得分 0
可以将链接字符串写在外部文件中,改起来方便
题外话 :
你在杭州吗 ?
Top
11 楼wrwr8111(路灯)回复于 2002-12-10 16:45:16 得分 0
TO:wjlsmail(计算机质子)
我后天就在杭州了
大概在杭州呆20天,有什么指教吗?
另:能不能说的清楚一点?Top
12 楼lihongyue(小头帘)回复于 2002-12-10 17:01:37 得分 0
你把ADOConnection连接的一些登录信息(包括连接的数据库),放到一个INI文件里,就可以修改了。Top
13 楼wjlsmail(小脖领)回复于 2002-12-10 17:09:05 得分 80
我还以为你是杭州人:) ,我现在杭州,想认识几个在杭州的朋友
建一个 DB.Dat 文件
[Database]
ConnectString=Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;Initial Catalog=sms_Tv;Data Source=zhangyy;Use Procedure for Prepare=1;Auto Translate=True;Packet Size=4096;Workstation ID=zhangyy;Use Encryption for Data=False;Tag with column collation when possible=False
然后,
ConnectionStringOfDb : String;
with TIniFile.Create(GetExePath + 'DB.Dat') do
begin
ConnectionStringOfDb := ReadString('Database', 'ConnectString', '');
end;
得到链接字符串
Top
14 楼wjlsmail(小脖领)回复于 2002-12-10 17:09:46 得分 0
INI文件当然也可以Top
15 楼wrwr8111(路灯)回复于 2002-12-10 17:12:36 得分 0
我不是杭州人,但我在杭州读书,现在读大四了,所以去宁波实习了。Top
16 楼wjlsmail(小脖领)回复于 2002-12-10 17:35:33 得分 0
你的问题解决了吗 ?:)Top
17 楼netrobo(netrobo)回复于 2002-12-10 18:01:42 得分 0
仔细了解一下ConnectionString,然后在程序中动态改变它,不就可以了吗?Top
18 楼wrwr8111(路灯)回复于 2002-12-10 18:09:20 得分 0
TO: wjlsmail(计算机质子)
没呀
我问一下,ConnectionStringOfDb : String;
with TIniFile.Create(GetExePath + 'DB.Dat') do
begin
ConnectionStringOfDb := ReadString('Database', 'ConnectString', '');
end;
这段代码写在哪里?
是不是这样写好以后就能在客户机上连接我的数据库了?
对了,你在杭州哪个公司?有QQ吗?我的QQ是52276738。大家交个朋友。
Top
19 楼wjlsmail(小脖领)回复于 2002-12-10 18:18:57 得分 0
写在 FormCreate 或者 其它... ,随你了
我没有QQ呀,Top
20 楼wrwr8111(路灯)回复于 2002-12-10 18:42:43 得分 0
Workstation ID是什么?是不是服务器的名字?Top
21 楼wjlsmail(小脖领)回复于 2002-12-10 18:44:58 得分 0
Workstation ID : 链接的Sql Server 2000的名字Top
22 楼wrwr8111(路灯)回复于 2002-12-10 18:51:31 得分 0
是不是就是数据库的名字
能不能麻烦你帮我看看哪些是你上面写好但我要改的,解释一下Top
23 楼wjlsmail(小脖领)回复于 2002-12-10 19:45:34 得分 0
ConnectString=Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;Initial Catalog=sms_Tv;Data Source=zhangyy;Use Procedure for Prepare=1;Auto Translate=True;Packet Size=4096;Workstation ID=zhangyy;Use Encryption for Data=False;Tag with column collation when possible=False
----------------------------------------------------------------
Initial Catalog=sms_Tv : 改为你用的数据库名
Data Source=zhangyy : 改为你的Sql Server 2000的名字
Workstation ID=zhangyy : 同样
Top
24 楼wjlsmail(小脖领)回复于 2002-12-10 19:46:52 得分 0
你用ADOConnection 链一个库看一下 就出来了Top
25 楼wrwr8111(路灯)回复于 2002-12-10 19:54:04 得分 0
哦
多谢了Top
26 楼wrwr8111(路灯)回复于 2002-12-10 19:56:46 得分 0
对了
是不是这样以后就可以让客户端连接使用数据库了
在一个局域网里Top
27 楼wjlsmail(小脖领)回复于 2002-12-10 19:57:02 得分 0
ok 了吗 ? :)Top
28 楼wjlsmail(小脖领)回复于 2002-12-10 19:58:48 得分 0
当然可以了 :) ,每次从本地读DB.Dat,再链接数据库 ,如果库相同,只要一个DB.Dat就可以了
好了吗 ?Top
29 楼wrwr8111(路灯)回复于 2002-12-10 20:03:25 得分 0
我正在试呢
不过可能要明天才能知道行不行(明天才公司去装一下试试)
多谢你了Top
30 楼wrwr8111(路灯)回复于 2002-12-10 20:06:12 得分 0
对了
我连过ConnectionString
里面有一向是选择服务器名,不知道你给我的哪个是写服务器名的?Top
31 楼wrwr8111(路灯)回复于 2002-12-10 20:08:42 得分 0
还有,你说的SQL SEVERY2000名是什么意思啊?Top
32 楼wjlsmail(小脖领)回复于 2002-12-10 20:15:50 得分 0
我连过ConnectionString
里面有一向是选择服务器名,不知道你给我的哪个是写服务器名的?
------------------
Data Source=zhangyy : 改为你的Sql Server 2000的名字
Workstation ID=zhangyy : 同样
都是
============================================================
SQL SEVERY2000名是什么意思 :连过ConnectionString
里面有一向是选择服务器名---就这个
你打开 企业管理器 ,Sql Server 组中就有 。Top
33 楼wrwr8111(路灯)回复于 2002-12-10 20:19:45 得分 0
哦
终于明白了
多谢
那我是不是在程序里就不用设ConnectionString
Top
34 楼wjlsmail(小脖领)回复于 2002-12-10 20:23:38 得分 0
不用设置呀,你从外部读的呀。
如果你的多个客户端链接的是同一个数据库,你在程序中设置ConnectionString 也可以Top
35 楼wjlsmail(小脖领)回复于 2002-12-10 21:11:11 得分 0
ok,
wjlsnet@Hotmail.com
我没有QQ
找到好工作,说一声 :)Top




