有HTML标签的文本,在插入数据库时,SQL语句怎么写?

来龙去脉是这样的:从网上下载了一下网页文本编辑器,里面功能挺多的,我改了改可以用在我这个系统里了,可是提交一些简单的文本还行,不会出错.但当提交很长的有段落的文章时就会出... 来龙去脉是这样的:

从网上下载了一下网页文本编辑器,里面功能挺多的,我改了改可以用在我这个系统里了,可是提交一些简单的文本还行,不会出错.但当提交很长的有段落的文章时就会出错,主要原因是在插入数据库的SQL语句时,原本意思是想把它当作一个字符串插入数据库,可是由于插入的文本带有HTML标签,此时的INSERT语句就无法识别了,就会出错.

如果上面的文字让你看的很晕,那你看下边的叙述:
插入数据库语句为:
string ins = "insert into gonggao(biaoti,neirong)values(\"" + b + "\",\"" + content + "\")";
OleDbCommand comm = new OleDbCommand(ins, conn);
comm.ExecuteNonQuery();

是ACCESS数据库,上面的"b"是接收文章标题的字符串变量,"content"是接收文章内容的字符串变量.当插入简单文本时(我是指没有HTML标签的文本),此时,不会出错;但当有HTML标签的文本时,文本中的HTML标签和 \"" + content + "\" 就结和在一起了,不会再把变量"content"当作一个字符串了,郁闷的.不知这种情况该咋办.

望高手帮忙啊!分数不成问题.有意者百度HI我啊.(经常在线)
忘了改分类了,是.NET C# 类啊.
展开
 我来答
奔驰M888
2009-05-02 · TA获得超过1.1万个赞
知道大有可为答主
回答量:1846
采纳率:0%
帮助的人:2707万
展开全部
values(\"" + b + "\",\"" + content + "\")";

values("'\" + b + "\'","'\" + content + "\'")";

不知道你的[\]是干嘛用的(转译字符?),先这样试试,如果哦[\]没有实际的意义,删掉再试试

***补充:如果sql是正确的楼上的参数执行方式可以解决问题**

--
以上,希望对你有所帮助。
georon
2009-05-02 · 超过34用户采纳过TA的回答
知道答主
回答量:160
采纳率:0%
帮助的人:82.5万
展开全部
values('"+ b + "','" + content + "')";
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
12666954
推荐于2018-04-05 · TA获得超过386个赞
知道小有建树答主
回答量:381
采纳率:0%
帮助的人:338万
展开全部
用参数执行方式
string content = Request.Form["content1"].ToString().Trim();
string b = Request.Form["txtUserName"].ToString().Trim();
string dbpath = System.Configuration.ConfigurationSettings.AppSettings["dbpath"];
OleDbConnection conn = new OleDbConnection("Provider=Microsoft.jet.OLEDB.4.0;Data source=" + Server.MapPath(dbpath));
string ins = "insert into gonggao(biaoti,neirong) values(@biaoti,@neirong)";
OleDbCommand comm = new OleDbCommand();
OleDbParameter biaoti = new OleDbParameter("@biaoti", OleDbType.VarChar);
biaoti.Value = "你的标题";
OleDbParameter neirong = new OleDbParameter("@neirong", OleDbType.VarChar);
neirong.Value = "你的内容";
comm.CommandText = ins;
comm.Connection = conn;
comm.Parameters.Add(biaoti);
comm.Parameters.Add(neirong);

try
{
conn.Open();//晚点打开连接,打开早了影响性能
comm.ExecuteNonQuery();
Response.Write("<script>alert('添加成功!');</script>");
Response.Write("<script>location.replace('gonggao.aspx');</script>");
}
catch (OleDbException ex)
{
Response.Write("添加失败!" + ex.Message);
}
finally
{
comm.Connection.Close();
comm.Dispose();
}
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式