C#往mysql中插入网页富文本

比如有一个文档中的内容是某个网页的源代码,含有各种各样的符号什么的单引号双引号,然后读取文档内容存放到content中那么用insertintotb_con(conten... 比如有一个文档中的内容是某个网页的源代码,含有各种各样的符号什么的 单引号 双引号,然后读取文档内容存放到content中 那么用insert into tb_con (content) values ('" + content+ "')来插入的时候会失败,请问什么问题 该如何解决 展开
 我来答
Ps脸粉粉
2013-03-07 · TA获得超过1563个赞
知道小有建树答主
回答量:224
采纳率:0%
帮助的人:114万
展开全部
楼主你好:

这种情况保存数据的时候并不是你想的那样,保存起来的内容并不是string类型的,因为如果你直接保存string的东西,肯定有很多特殊符号通不过的,你可以把文件中的内容转换成二进制保存到数据库中,你把你的content字段创建成byte类型。代码可以这样写:

public void GetStringConvertValue(string strPath) {
//strPath就是你文件的路径
if (File.Exists(strPath))
{
using (FileStream fs = File.Open(strPath, FileMode.Open))
{
int FileLength = Convert.ToInt32(fs.Length);
Byte[] FileByteArray = new Byte[FileLength];
fs.Read(FileByteArray, 0, FileLength);
//FileByteArray就是你要保存的二进制内容,这里即可以写你的插入语句了。

//下面的代码你可以看成从数据库中读取到FileByteArray,然后再转换成文件ssss.txt
Stream stream = new MemoryStream(FileByteArray);
// 设置当前流的位置为流的开始
stream.Seek(0, SeekOrigin.Begin);
// 把 byte[] 写入文件
FileStream fsss = new FileStream(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "ssss.txt"), FileMode.Create);
BinaryWriter bw = new BinaryWriter(fsss);
bw.Write(FileByteArray);
bw.Close();
fsss.Close();
}
}
}

读取和保存写在一起了,楼主自己拆分开就行了
希望对你有帮主,望采纳,谢谢:)
手名有0X
2013-03-07 · TA获得超过835个赞
知道小有建树答主
回答量:722
采纳率:100%
帮助的人:470万
展开全部
你需要把那些有特殊含义的字符比如单引号、双引号、大于号、小于号转换成html字符,这样才能插入到mysql里面,而且提高了网站的安全性,不容易被黑客注入脚本,造成不必要的损失
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
593758685
2013-03-07 · TA获得超过276个赞
知道小有建树答主
回答量:377
采纳率:100%
帮助的人:229万
展开全部
数据类型和长度看下 。要么就是用html编码下再插入数据库。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式