所以,我正在编写一个程序,将excel文件导入数据库,查找匹配项,不匹配项,显示表格等。
在一开始,我只是手动添加了数据库连接字符串,但我必须使程序让连接字符串更改。
如果未插入任何内容,它将使用最后插入的内容。
代码背后:
protected void BtnFazerTudo_Click(object sender, EventArgs e)
{
var connectionString = ConfigurationManager.ConnectionStrings["Db"].ConnectionString;
connectionString = connectionString.Replace("{username}", TxtUtilizador.Text);
connectionString = connectionString.Replace("{pwd}",TxtPalavraPasse.Text);
connectionString = connectionString.Replace("{DataSource}", TxtHost.Text);
connectionString = connectionString.Replace("{Initial}", TxtBaseDeDados.Text);
Debug.Write(con);
}
Web配置:
<add name="Db" connectionString="Data Source ={DataSource} ;Initial Catalog=
{Initial};Persist Security
Info=True;User ID={username};Password={pwd}"/>
我已经尝试过String构建器。我能够在调试窗口中将其输出,但是我不知道如何将字符串生成器建立的连接转移到其他Web表单。
答案 0 :(得分:0)
您正在创建的连接字符串必须存储在某个地方,以便Web应用程序的所有页面都可以访问它。尽管some choices that let you pass data among pages都不适合您,主要是因为(a)连接字符串包含安全敏感信息,例如密码!!! (b)它们没有提供您的方案所需的持久性级别(除非您希望用户每次连接到应用程序时都填充文本框)。
话虽如此,一种可行的选择是将连接字符串存储在数据库中,并在每次需要时检索它。您既可以将其存储为一个完整的字符串,也可以将每个用户数据分别存储(即目录,用户ID,密码等)。在后一种情况下,您每次需要时都必须重新创建连接字符串。
如何创建连接字符串与原始问题无关。它与C#中的字符串连接有关,您可以使用+
或+=
运算符,string interpolation或String.Format
,String.Concat
,{{1} }或String.Join
方法。