我怎样才能从字符串和字符串变量组合字符串?

问题描述:

我有这样的代码:我怎样才能从字符串和字符串变量组合字符串?

string myconnectionstring = "Server="+ Program.server_address +";Database=rku;uid="+ Program.server_uname +";password="+ Program.server_psw +""; 

Program.server_addressProgram.server_unameProgram.server_psw是全局变量和它们的值是 “本地主机”, “为myuser” 和 “输入mypassword”,分别。

但是当我运行该程序, “myconnectionstring” 的值是 “服务器=;数据库=相同地分别
; UID =;密码=;”

但我想这一点:

"Server=localhost;Database=rku;uid=myuser;password=mypassword; 

我该怎么办?

+0

什么是'server_address'的类型?你有没有试图调试以确保它们具有正确的值? – christopher 2013-05-05 11:09:19

+1

向我们展示更多的代码,包括其他变量的初始化。 – 2013-05-05 11:10:16

+0

在其中'myconnectionstring'被初始化,并看到自己的其他增值经销商的价值线设置一个断点。 – 2013-05-05 11:10:46

看来你设置:设置变量之前

string myconnectionstring = "Server="+ Program.server_address +";Database=rku;uid="+ Program.server_uname +";password="+ Program.server_psw +""; 

Program.server_address and Program.server_uname and Program.server_psw 

更改设置其他变量后设置myconnectionstring变量的地方。

+1

我们不知道,直到OP职位周围的代码 – christopher 2013-05-05 11:15:53

+0

@ChrisCooney的方法:我们可以相当肯定的是OP要么根本不设置变量,要么在尝试创建之后进行设置e myconnectionstring,所以这个答案不一定是错的。 – Patrick 2013-05-05 11:27:10

+0

我从来没有说过错@Patrick。只是海报无法知道它是否正确,所以它不应该是一个答案。 – christopher 2013-05-05 11:30:18

您可以使用String.format

string myconnectionstring = string.Format("Server= {0} ;Database= {1} ;uid= {2} ;password= {3}", Program.server_address,"rku",Program.server_uname,Program.server_psw); 

始终使用string.Format用于连接字符串或使用StringBuilder。但是,为了形成连接字符串,最好使用ConnectionStringBuilder。由于未显示初始化代码,因此可以设置默认的服务器名称和密码,以便Program Class的属性始终具有值。在使用data access layer(DAL)之前,还要尝试验证连接字符串。