C#往mysql中插入网页富文本
比如有一个文档中的内容是某个网页的源代码,含有各种各样的符号什么的单引号双引号,然后读取文档内容存放到content中那么用insertintotb_con(conten...
比如有一个文档中的内容是某个网页的源代码,含有各种各样的符号什么的 单引号 双引号,然后读取文档内容存放到content中 那么用insert into tb_con (content) values ('" + content+ "')来插入的时候会失败,请问什么问题 该如何解决
展开
3个回答
展开全部
楼主你好:
这种情况保存数据的时候并不是你想的那样,保存起来的内容并不是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();
}
}
}
读取和保存写在一起了,楼主自己拆分开就行了
希望对你有帮主,望采纳,谢谢:)
这种情况保存数据的时候并不是你想的那样,保存起来的内容并不是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();
}
}
}
读取和保存写在一起了,楼主自己拆分开就行了
希望对你有帮主,望采纳,谢谢:)
展开全部
你需要把那些有特殊含义的字符比如单引号、双引号、大于号、小于号转换成html字符,这样才能插入到mysql里面,而且提高了网站的安全性,不容易被黑客注入脚本,造成不必要的损失
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
数据类型和长度看下 。要么就是用html编码下再插入数据库。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询