将文本框值更新为sql

时间:2010-07-27 11:50:21

标签: c# .net sql

当我试图将文本框值更新为db.It时抛出异常“语法附近无效(txtkey.text的值)”任何人都可以帮助

SqlConnection con = new SqlConnection("server=server1;Database=testdb;User Id=dev;password=sqlad@2006");
                SqlCommand com = new SqlCommand("insert into tbl_licensing(UserName,CompanyName,EmailId,LicenseKey) values ('" + txtUserName.Text + "','" + txtCompanyName.Text + "','" + txtEmailId.Text + "','"+ txtKey.Text + "'",con);
                con.Open();
                com.ExecuteNonQuery();
                con.Close();

4 个答案:

答案 0 :(得分:3)

您已启动此“values (”,但您从未关闭它。再次检查。

如果使用参数化查询或存储过程而不是直接编写查询

,那将会很好

您可以查看此文章。

http://www.aspnet101.com/2007/03/parameterized-queries-in-asp-net/

答案 1 :(得分:2)

您在查询中忘记了右括号

为您更新了代码:

    SqlCommand com = new SqlCommand("insert into
 tbl_licensing(UserName,CompanyName,EmailId,LicenseKey) values ('" + txtUserName.Text + "','" 
+ txtCompanyName.Text + "','" + txtEmailId.Text + "','"+ txtKey.Text + "')",con);

答案 2 :(得分:2)

您的代码在很多方面都是错误的。使用参数化查询,您将

  • 避免sql注入攻击
  • 你会的 不必逃避输入的数据 按用户
  • 你的表现 查询会变得更好
  • 代码将更容易阅读,理解和重构。

答案 3 :(得分:1)

将SqlCommand与参数一起使用的正确方法是使用参数名称和值填充SqlCommand的Parameters集合。

请参阅MSDN documentation