【发布时间】:2017-12-26 17:46:26
【问题描述】:
错误信息:
System.Data.SqlClient.SqlException
建立与 SQL Server 的连接时发生与网络相关或特定于实例的错误。服务器未找到或无法访问。验证实例名称是否正确,并且 SQL Server 已配置为允许远程连接。
web.config:
<system.web>
<pages enableEventValidation="true"/>
<compilation debug="true" targetFramework="4.6.1"/>
<httpRuntime targetFramework="4.6.1"/>
</system.web>
register.aspx.cs 文件:-
protected void r_submit_Click(object sender, EventArgs e)
{
SqlConnection conn = new SqlConnection(@"Data Source = (LocalDB)\\MSSQLLocalDB; AttachDbFilename = C: \\Users\\Abhishek\\Documents\\Visual Studio 2017\\Projects\\S2N\\s2n\\App_Data\\Database.mdf; Integrated Security = True");
{
conn.Open();
SqlCommand cmd = new SqlCommand("insert into register values(@fname, @lname, @dob, @email, @mobile, @passoword)",conn);
cmd.Parameters.AddWithValue("fname",fname.Text);
cmd.Parameters.AddWithValue("lname", fname.Text);
cmd.Parameters.AddWithValue("dob", dob.Text);
cmd.Parameters.AddWithValue("email", email.Text);
cmd.Parameters.AddWithValue("mobile", mobile.Text);
cmd.Parameters.AddWithValue("password", password.Text);
cmd.ExecuteNonQuery();
fname.Text = "";
lname.Text = "";
dob.Text = "";
email.Text = "";
mobile.Text = "";
password.Text = "";
fname.Focus();
}
}
请帮帮我
【问题讨论】:
-
这段代码有很多问题。 1) SqlConnection 实现IDisposable。您应该在 using 语句中创建它。 2) Don't use AddWithValue 3) 看来您正在数据库中存储明文密码。密码应该是一种散列和加盐的方式。然后你比较密码的散列形式。不要存储明文密码。
-
如果您的连接字符串没有脱离配置,那么我建议您使用
SqlConnectionStringBuilder,这样您就不会在语法上犯错。 -
好的@crowcoder,今天将实现SqlConnectionStringBuilder
标签: c# asp.net sql-server visual-studio