mysql保存文件路径

yanpf 2009-01-06 03:39:24
我在mysql数据库表中有一个字段用来存放文件路径,路径中有中文字符串,insert的时候文件路径都还是对的,但是再读出来的时候一些'\'字符没有了,也不是所有的'\'字符都没有了,只是一部分'\'字符没有了!导致文件路径不对了,请问这个问题是什么原因,怎么解决?
...全文
985 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
yanpf 2009-01-07
  • 打赏
  • 举报
回复
自己解决了,加上mysqlpp::quote就行
yanpf 2009-01-06
  • 打赏
  • 举报
回复
好的,我试试,多谢你了!
WWWWA 2009-01-06
  • 打赏
  • 举报
回复
估计是转义了,用两个\试试
yanpf 2009-01-06
  • 打赏
  • 举报
回复
我考虑过用两个\,不过我的路径是从对话框中取到的,到我insert的时候就已经是一个\了,我考虑把一个\替换成两个\\,不过不知道匹配的时候是不是已经发生了转义。
    if (!TbIsExist(nId, strUId))
return false;

mysqlpp::Query query = EsMySql::EsGetQuery();

query << "insert into LAYER_POINT(fileId, fileName, layerName, showDataFilePath, realDataFilePath, domainType) values("
<< m_nFileId
<< ",'"
<< m_strFileName
<< "','"
<< m_strLayerName
<< "','"
<< m_strShowDataFilePath
<< "','"
<< m_strRealDataFilePath
<< "',"
<< m_nDomainType
<< ")";

return query.exec();
WWWWA 2009-01-06
  • 打赏
  • 举报
回复
用两个\试试,代码贴出来看看
yanpf 2009-01-06
  • 打赏
  • 举报
回复
我自己考虑可能是转义字符的问题,不知道是不是,也不知道如何解决。我看到你在线,就只好麻烦你过来帮我看一下了。谢谢!
yanpf 2009-01-06
  • 打赏
  • 举报
回复
谢谢你啊!

我在程序中insert到数据库中时跟代码时路径还是对的:
realDataFilePath: D:\_EasyHWD\模型\新建工区4\数据\点地层离散点\93-t6-cp1_04sep_154245_real_data.dat

等到insert进去之后再取出来路径变成这样了:
realDataFilePath: D:\_EasyHWD模型\新建工区4数据\点地层离散点\93-t6-cp1_04sep_154245_real_data.dat
WWWWA 2009-01-06
  • 打赏
  • 举报
回复
呵呵,没有看到这个帖子,贴记录出来看看吧
yanpf 2009-01-06
  • 打赏
  • 举报
回复
没有一个人出来帮帮我吗?wwwa在线也不过来帮我解答一下...

56,679

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧