asp.net中DropDownList1里的的一个数值为 **'**"** 请问如何添加到数据库(sql server2005)

在前台给用户选择数据格式时,有**.***'**"**,如果有用户要填数据是类似12分34秒56这样的数据,我们要求用户在选择数据格式为**'**"**,即在DropDo... 在前台给用户选择数据格式时,有* *.* **'**"**,如果有用户要填数据是类似12分34秒56这样的数据,我们要求用户在选择数据格式为**'**"**,即在DropDownList1里的选**'**"**。用户选择后,我要进行数据格式的存储,这就涉及到将DropDownList1里的的一个数值 **'**"** 添加到数据库的问题。出现的错误提示是:
异常详细信息: System.Data.SqlClient.SqlException: '*' 附近有语法错误。
字符串 '**',TimeNeedPerGroup='88' where ItemID='9'' 后的引号不完整。
展开
 我来答
mydocument2020
2013-08-12 · TA获得超过202个赞
知道小有建树答主
回答量:187
采纳率:100%
帮助的人:140万
展开全部
这是因为你的字符串里有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));
随机数xZ
2013-08-12 · TA获得超过357个赞
知道小有建树答主
回答量:372
采纳率:0%
帮助的人:420万
展开全部

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));

你要学会用,我们开发都是用那种参数的形式添加.

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式