有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# 类啊. 展开
从网上下载了一下网页文本编辑器,里面功能挺多的,我改了改可以用在我这个系统里了,可是提交一些简单的文本还行,不会出错.但当提交很长的有段落的文章时就会出错,主要原因是在插入数据库的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# 类啊. 展开
3个回答
展开全部
values('"+ b + "','" + content + "')";
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
用参数执行方式
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();
}
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();
}
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询