【发布时间】:2014-09-22 07:13:36
【问题描述】:
我一直在尝试通过 App.config 中的连接字符串连接到我的 MS Sql 数据库,但由于某种原因无法登录,我似乎无法弄清楚。
这是我的连接方法:
public void Con()
{
string userName = userNameBox.Text;
string passWord = passWordBox.Text;
bool loginFail;
SqlConnection Conn = new SqlConnection(ConfigurationManager.ConnectionStrings["lagerConn"].ConnectionString);
//Search Connstring for User ID= & Password= and replace with username and password from Textboxes
if (_Connstring.Contains("User ID="))
{
_Connstring = _Connstring.Replace("User ID=;", "User ID=" + userName + ";");
}
if (_Connstring.Contains("Password="))
{
_Connstring = _Connstring.Replace("Password=", "Password='" + passWord + "'");
}
try
{
Conn.Open();
Conn.Close();
loginFail = false;
}catch
{
MessageBox.Show("Login Failed");
loginFail = true;
}
if(loginFail == false) //If login is successful it will change to the next form and hide the Connect form
{
mainMenu secondForm = new mainMenu();
secondForm.Show();
this.Hide();
}
}`
这是我的 App.config
<add name="lagerConn" connectionString="Data Source=LagerServer;Initial Catalog=LagerDB;Persist Security Info=True;User ID=;Password="
providerName="System.Data.SqlClient" />
</connectionStrings>
【问题讨论】:
-
您应该始终使用parameterized queries。这种字符串连接对SQL Injection 攻击开放。并且不要将您的密码存储为纯文本。使用散列函数作为 SHA-512。
-
你能告诉我们你在连接时收到的异常吗
-
为方便起见,您应该在问题中包含例外作为编辑
-
请查看
http://www.connectionstrings.com/sql-server/
标签: c# sql database connection-string