【发布时间】:2016-03-07 16:08:15
【问题描述】:
我正在尝试构建一个注册 Web 表单,将用户数据保存到 SQL 表中。这是我到目前为止所拥有的:
public static SqlConnection GetConnection()
{
String connection;
connection = @"example/file/path";
return new SqlConnection(connection);
}
protected void submitButton_Click(object sender, EventArgs e)
{
SqlConnection myConnection = GetConnection();
try
{
myConnection.Open();
String myQuery = "INSERT INTO RegistrationDB([firstName], [lastName], [eMail], [dob], [userName], [password]) values ('"
+fNameBox.Text+ "' ,'"+ lNameBox.Text+"' ,'"+emailBox.Text+"' ,'"
+ dobBox.Text+"', '"+userNameBox.Text+"' ,'"+passwordBox.Text+"';)";
SqlCommand myCommand = new SqlCommand(myQuery, GetConnection());
myCommand.ExecuteNonQuery();
myConnection.Close();
}
catch (Exception ex)
{
Response.Write(ex.Message);
}
finally
{
myConnection.Close();
}
}
错误发生在我返回连接的GetConnection() 方法中。我得到的错误是:
“System.ArgumentException”类型的异常发生在 System.Data.dll 但未在用户代码中处理
附加信息:初始化字符串的格式不符合从索引 0 开始的规范。
我不知道如何解决这个问题,但非常感谢任何帮助。
【问题讨论】:
-
connection = @"example/file/path";?? -
你有一个很棒的 SQL 注入漏洞,使用参数化查询
-
你将不得不提供一个真正的连接字符串 - 见这里connectionstrings.com
-
@JSantosh 这不是我真正的连接字符串
标签: c# asp.net sql-server