sql数据库连接问题,读配置文件

hbhuo2008 2010-10-15 03:53:33
原来程序数据库连接是:
Public objSqlConnection As SqlConnection = New _
SqlConnection("Data Source=administrator\seawater; " & _
" Initial Catalog=seawater;uid=sa;pwd=sa123")
数据库连接正常。

现在想通过一个配置文件来修改数据库连接参数。操作如下

1、配置文件config.ini

[数据库连接]
datasource=administratr\seawater
database=seawater
uid=sa
pwd=sa123

数据库连接修改为

Dim temp As String
temp="Data Source=" & datasource & "; Initial Catalog=" & database & ";uid=" & uid & ";pwd=" & pwd
Public objSqlConnection As SqlConnection = New _
SqlConnection(temp)


若捕获读取配置文件中的各参数数据,都正常,但temp只捕获到Data Source=administratr\seawater;后面Initial Catalog,uid,pwd都没有。

2、配置文件改为

[数据库连接]
sqlcon=Data Source=administratr\seawater;Initial Catalog=seawater;uid=sa;pwd=sa123

数据库连接代码为

Public objSqlConnection As SqlConnection = New SqlConnection(sqlcon)


捕获sqlcon为Data Source=administratr\seawater;Initial Catalog=seawater;uid=sa;pwd=sa123

字符串是完整的但运行程序提示connectionstring属性尚未初始化,貌似没有双引号?

请教各位,程序错在哪里,像这种读取配置文件连接数据库的有什么好的方法?
不吝赐教,谢谢。
...全文
425 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
hbhuo2008 2010-10-27
  • 打赏
  • 举报
回复
在vb.net2005里面使用配置文件app.config:

<appSettings>
<!--连接数据库服务器-->
<add key="strcon" value="Data Source=administrator\seawater;Initial Catalog=seawater;Integrated Security=true;uid=sa;Password=sa123"></add>
</appSettings>



Module1.vb:

添加引用import System.Configuration

调用

Public objSqlConnection As SqlConnection = New SqlConnection(System.Configuration.ConfigurationSettings.AppSettings("strcon"))


‘Public objSqlConnection As SqlConnection = New SqlConnection(ConfigurationSettings.AppSettings("strcon"))


出现警告:
“System.Configuration.ConfigurationSettings.AppSettings”已过时:“This method is obsolete, it has been replaced by System.Configuration!System.Configuration.ConfigurationManager.AppSettings”





解决办法:

1、在项目中引用System.Configuration.dll
在项目的解决方案中找到引用文件夹-->右建添加引用-->选择.NET下的System.Configuration-->确定。
2、在需要的页面加上import System.Configuration
3、把System.Configuration.ConfigurationSettings.AppSettings("你要连的字符串")替换成
System.Configuration.ConfigurationManager.AppSettings("你要连的字符串")
问题解决!

水猿兵团五哥 2010-10-18
  • 打赏
  • 举报
回复
你用INI文件读取好了
沐NeMo 2010-10-18
  • 打赏
  • 举报
回复
ini不大安全。五画。
wuyq11 2010-10-15
  • 打赏
  • 举报
回复
ConfigurationManager.AppSettings["conn"].ToString();
<add name="conn" connectionString="" providerName ="System.Data.SqlClient" />
Tosp2012 2010-10-15
  • 打赏
  • 举报
回复
dim strDataSource as string
dim strDataBase as string
dim strUserId as string
dim strPassWord as string

If System.IO.File.Exists("./config.ini") = True Then
'读config.ini文件
Dim FStream As System.IO.FileStream = New System.IO.FileStream("./config.ini", IO.FileMode.Open)
Dim FReadLine As New System.IO.StreamReader(FStream)

strDataSource = Trim(FReadLine.ReadLine)
strDataBase = Trim(FReadLine.ReadLine)
strUserId = Trim(FReadLine.ReadLine)
strPassWord = Trim(FReadLine.ReadLine)

FReadLine.Close()
FStream.Close()
End If


Dim strTemp As String
strTemp="Data Source=" & strDataSource & "; Initial Catalog=" & strdatabase & ";uid=" & strUserId & ";pwd=" & strPassWord
dim SQLConn As SqlConnection = New SqlConnection(strTemp)
SQLConn.Open()


hbhuo2008 2010-10-15
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 bancxc 的回复:]
用 app.config保存 多简单啊
[/Quote]

我是新手,该怎么创建,谢谢。
bancxc 2010-10-15
  • 打赏
  • 举报
回复
<add key="ConnectionString" value="Data Source=administratr\seawater;Initial Catalog=seawater;uid=sa;pwd=sa123"/>



直接用 AppSetting["ConnectionString"]就可以
bancxc 2010-10-15
  • 打赏
  • 举报
回复
显然第二种
bancxc 2010-10-15
  • 打赏
  • 举报
回复
用 app.config保存 多简单啊

16,554

社区成员

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

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