
3个回答
展开全部
是这样的,因为在你的sql语句中会有特殊符号,如单引号,逗号等,这些是不能通过sql语句直接存储的。
解决方案1:将你需要存储的sql语句中的标点符号都使用 中文 标点,这样就可以存储。
解决方案2:如果是西文标点,你就需要对标点符号进行编码存储。不然就会出错。
分析:如你要存储 yes,i can.那么存储语句应该是:
insert into tablename values('yes,ican');
就会提示出错,因为 逗号 将语句隔开了,数据库会认为你插入的是两个字段:
yes和i can,但是如果是yes和i can,那么语句应该是:values('yes','i can');
结论:所以按以上方法肯定不能存储。而在Server命名空间里面有这样一组方法:
HTMLEncode() 和 HTMLDecode() 分别是对这些特殊文本进行编解码的。
所以你在存储“yes,i can” 的时候,对它进行一次“编码”,
string bianma = HTMLEncode(); (HTMLEncode的返回值是什么你自己查下文档)
然后就可以拿bianma来存入数据库即可。
当然在你取出数据之后,就需要对该数据进行解码操作。HTMLDecode();
分析结束,我曾经也在项目过程中遇到过这样的问题,希望能够帮到你。
解决方案1:将你需要存储的sql语句中的标点符号都使用 中文 标点,这样就可以存储。
解决方案2:如果是西文标点,你就需要对标点符号进行编码存储。不然就会出错。
分析:如你要存储 yes,i can.那么存储语句应该是:
insert into tablename values('yes,ican');
就会提示出错,因为 逗号 将语句隔开了,数据库会认为你插入的是两个字段:
yes和i can,但是如果是yes和i can,那么语句应该是:values('yes','i can');
结论:所以按以上方法肯定不能存储。而在Server命名空间里面有这样一组方法:
HTMLEncode() 和 HTMLDecode() 分别是对这些特殊文本进行编解码的。
所以你在存储“yes,i can” 的时候,对它进行一次“编码”,
string bianma = HTMLEncode(); (HTMLEncode的返回值是什么你自己查下文档)
然后就可以拿bianma来存入数据库即可。
当然在你取出数据之后,就需要对该数据进行解码操作。HTMLDecode();
分析结束,我曾经也在项目过程中遇到过这样的问题,希望能够帮到你。
更多追问追答
追问
谢谢,但是我曾经看到别人遇到这种问题,是通过把SQL语句转换成另外的一串字符(可能是转换成16进制什么的),可能是把编码格式变过了,反正是乱码,然后才存到表里的,请问这个转换怎么做啊?
追答
那就是MD5加密与解密了。这个方法你就得去网上找。
展开全部
sql是保存在硬盘的上的.sql文件中,用的时候用查询管理器打开即可。
追问
我是想将程序里用到的SQL语句,用数据库保存起来,要用的时候通过查询语句调用。
追答
那是存储过程,是在数据库中实现的。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
什么意思?保存到sqlserver2005是什么意思?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询