2016-12-13 76 views
0

我得到一个错误ASP连接错误:关键字附近有语法错误“用户

类型的异常‘System.Data.SqlClient.SqlException’出现在system.data.dll但没有处理在用户代码

其它信息以关键字“用户”附近的语法不正确。

我的代码:

SqlConnection con = new SqlConnection(@"Data Source = (LocalDB)\MSSQLLocalDB; AttachDbFilename = C:\Users\user\OneDrive\Documents\Visual Studio 2015\Projects\WebApplication2\WebApplication2\App_Data\Database1.mdf; Integrated Security = True"); 

protected void btnOK_Click(object sender, EventArgs e) 
{ 
    con.Open(); 

    SqlCommand cmd = con.CreateCommand(); 
    cmd.CommandType = CommandType.Text; 
    cmd.CommandText = "insert into User(name, status, type) values('"+txtName.Text+"', '"+txtStatus.Text+ "', '" + txtType.Text + "')"; 

    cmd.ExecuteNonQuery(); 
    con.Close(); 
    Response.Redirect("Webform1.aspx"); 
} 
+3

请仔细阅读这一点,你就写一个融合了的SqlCommand对象button_click事件代码之前。 https://msdn.microsoft.com/en-us/library/ee658109.aspx?f=255&MSPPError=-2147217396 – granadaCoder

+1

[SQL注入警报(http://msdn.microsoft.com/en-us/library/ms161953 %28V = SQL.105%29.aspx) - 你应该** **不串连在一起,你的SQL语句 - 使用**参数化查询**来避免SQL注入 –

回答

2

User在SQL保留关键字,你应该使用方括号。

试试这个:

cmd.CommandText = "insert into [User](name, status, type) values('"+txtName.Text+"', '"+txtStatus.Text+ "', '" + txtType.Text + "')"; 
+0

和快乐SQL注入 – Steve

+2

请不要给出答案从一开始就让sql-injection训练中的某个人得到。 https://en.wikipedia.org/wiki/SQL_injection – granadaCoder

+1

凭心而论,OP已经从一开始的SQL注入的火车。 – Amy

相关问题