一个很值得关注的问题?大家快来帮帮我解决这个题吧!!

qqyzq 2004-06-20 08:47:16
情况是这样的。我的开发环境是2000 server +sql2000+vb.net。做出来的程序在其它电脑上安装成功后(包括sql2000)。一运行程序系统提示数据库不能连接,后来发现是因为数据名不一样。后来把数据改成和我开发电脑上数据一样的名后方可正常使用。我的问题是这样的:
我想在程序运行时先经过数据库环境设置后把设置好的信息存入一个文件各。程序里的其他数据连接都去读取该文件中的相关信息。这样一来我把程序拿到其它电脑去安装后运行时,只需进行一道环境配置即可运行。要实现这个功能该该如何写程序。我因学习开发不久,但总觉得不这样做的话程序做出来的实现性就不好。不知哪位朋友能告诉我方法。给我个实例程序。十分感谢。
...全文
114 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
qqyzq 2004-06-21
  • 打赏
  • 举报
回复
gz988朋友你好。当我把这中的"Server details"更改后,点击确定后在server.ini中就出现多行。我想是因为"Server details"更改的原因。我想问题是在第二次进行配置这个文件时如何先把原有的文件删除再重新建立一个配置文件。另外当配置文件中有多行时,我如去指定只读某行的数据。谢谢!!!
qqyzq 2004-06-21
  • 打赏
  • 举报
回复
server=localhost;最好的移植语句
这条语句是好,但是作为工作机时好象不连接不到数据库。
dgz988 2004-06-21
  • 打赏
  • 举报
回复
写入INI文件:
‘声名
Private Declare Function WritePrivateProfileString Lib "kernel32" Alias "WritePrivateProfileStringA" _
(ByVal lpApplicationName As String, ByVal lpKeyName As String, ByVal lpString As String, ByVal lpFileName As String) As Long

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim dgz As String
Dim dgzx As String
’连接字符串的内容
dgz = "data source=" & TextBox1.Text.Trim & ";initial catalog=reyoung;password=" & TextBox3.Text.Trim & ";persist security info=True;user id=" & TextBox2.Text.Trim & ";workstation id=DGZOFFICE1;packet size=4096"
Dim retval As Long
dgzx = "'" & dgz & "'"
‘写入INI文件
retval = WritePrivateProfileString("Server details", "Connection", _
dgzx, "c:\server.ini")
If retval = 0 Then MsgBox("Error writing INI file")
End Sub
dgz988 2004-06-21
  • 打赏
  • 举报
回复
对头,我做的是用的INI文件,把要设置的文件以字符串键值的形式存进去,用的时候从这个文件 里读出来

设置一个共享变量,程序一运行就把字符串读入变量,每 次初始化连接都用这个变量。。
设置一个修改的页面,修改这个变量,然后存入INI文件 就行了。。。
qqyzq 2004-06-21
  • 打赏
  • 举报
回复
不好意思。我我照你们的方法去做不知为什么没能搞好。情况是这样的,我的form1窗体是数据库环境配置。保存的文件是server.ini
[SQLServer config]
Connection='data source=123;initial catalog=yc1 ;password=123;persist security info=True ;user id=sa;workstation id=123;packet size=4096'
现在我在form2里面,我要把一个表的内容读入datagrid中。这里我如何去取server.ini里的值,想请dgz988(雨潇)这位朋友帮个忙帮我写一个完整的代码。也就是把做的工发给我。我试试。真的感谢谢了
nayijiandefengqing 2004-06-20
  • 打赏
  • 举报
回复
server=localhost;最好的移植语句
qqyzq 2004-06-20
  • 打赏
  • 举报
回复
另外,我程序的环境设置是在一个单独的窗体中,如何把窗体中输入的内容写入我指定的ini文件中呢
mooowx 2004-06-20
  • 打赏
  • 举报
回复
WINFORM的:
自己写一个文本文件(与EXE放在同一文件夹),内容如下(不要留有空行):

[SQL Name]
TESTSERVER

写一个函数:


'读INI文件中指定的段值
Public Function mGetIniValue(ByVal mFileName As String, ByVal mSegName As String) As String
Dim mFR As StreamReader
Dim ReadString As String
ReadString = ""
Dim FileString As String
Try
mFR = New StreamReader(mFileName)
Do
'读出一行
FileString = mFR.ReadLine
If FileString = "[" & mSegName & "]" Then
'读取紧接着的一行,即是设定值
ReadString = mFR.ReadLine
Exit Do
End If
Loop Until (FileString = Nothing)
mFR.Close()
Return ReadString
Catch ex As Exception
Return ""
End Try
End Function

不将整条语句写到文本文件内,是避免用户看到太多有关数据库连接的信息(你可以指定密码的).
hbzxf 2004-06-20
  • 打赏
  • 举报
回复
在webconfig文件中添加
一定不能添加到别的里面
<configuration>
<appSettings>
<add key="connstr" value="server=localhost;uid=xx;pwd=xx;database=cc;" />
</appSettings>
在<configuration>下面写就 ok

调用
conn=new SqlConnection(System.Configuration.ConfigurationSettings.AppSettings["connstr"]);
qqyzq 2004-06-20
  • 打赏
  • 举报
回复
可不可以给个实例啊。包括要引用的一些文件,真的很感谢啦。
li_new 2004-06-20
  • 打赏
  • 举报
回复
Config文件!

16,549

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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