asp.net中DropDownList1里的的一个数值为 **'**"** 请问如何添加到数据库(sql server2005)
在前台给用户选择数据格式时,有**.***'**"**,如果有用户要填数据是类似12分34秒56这样的数据,我们要求用户在选择数据格式为**'**"**,即在DropDo...
在前台给用户选择数据格式时,有* *.* **'**"**,如果有用户要填数据是类似12分34秒56这样的数据,我们要求用户在选择数据格式为**'**"**,即在DropDownList1里的选**'**"**。用户选择后,我要进行数据格式的存储,这就涉及到将DropDownList1里的的一个数值 **'**"** 添加到数据库的问题。出现的错误提示是:
异常详细信息: System.Data.SqlClient.SqlException: '*' 附近有语法错误。
字符串 '**',TimeNeedPerGroup='88' where ItemID='9'' 后的引号不完整。 展开
异常详细信息: System.Data.SqlClient.SqlException: '*' 附近有语法错误。
字符串 '**',TimeNeedPerGroup='88' where ItemID='9'' 后的引号不完整。 展开
2个回答
展开全部
这是因为你的字符串里有sql的关键字,比如:单引号、星号。如果没有猜错,你是通过拼接sql的方式来得到最终的sql语句的。这样就会产生语法错误。
解决方法:使用参数的形式添加就可以了。
可参考:
string sql = "select * from Student where studentName=@studentName and sex=@sex";
DataTable dt = new DataTable();
dt = DatabaseOperation.ExecuteDataTable(sql, new SqlParameter("@studentName", name), new SqlParameter("@sex", sex));
解决方法:使用参数的形式添加就可以了。
可参考:
string sql = "select * from Student where studentName=@studentName and sex=@sex";
DataTable dt = new DataTable();
dt = DatabaseOperation.ExecuteDataTable(sql, new SqlParameter("@studentName", name), new SqlParameter("@sex", sex));
展开全部
1.如果数据库字段是Int数值类型,你的**'**"**肯定是添加不进去的,因为不符合数据类型规范.
2.字符串 '**',TimeNeedPerGroup='88' where ItemID='9'' 后的引号不完整。引号不完整,看到没ItemID='9是这单引号,还有一边引用没有应改为:ItemID='9'
3建议:你设个断点调试一下,然后把sql语句拿到数据库执行,调试才能找到错误所有,同时在能有助你进步.. sql拼接方式的确很容易错误同时sql注入攻击漏洞,
//上面的用户mydocument2020的方法
可参考:string sql = "select * from Student where studentName=@studentName and sex=@sex"; DataTable dt = new DataTable(); dt = DatabaseOperation.ExecuteDataTable(sql, new SqlParameter("@studentName", name), new SqlParameter("@sex", sex));
你要学会用,我们开发都是用那种参数的形式添加.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询