使用insert into(field1,field2...) values('val1','val2'...)时,若值中有单引号时会报错。
处理方法:判断一下val1,val2中是否含有单引号,若含单引号,则将单引号'替换成两个单引号''。
将字段与字段值组织到一个HashTable中,再抽象出一个组织sql语句的函数getSqlByHashTable():
HashTable ht =new HashTable(); ht.add(field1,val1); ht.add(field2,val2); ht.add(field3,val3); 。。。 public string getSqlByHashTable(string tablename,HashTable ht){ StringBuilder sb=new StringBuilder(); sb.append("insert into "+tablename+"("); StringBuilder fsb=new StringBuilder(); StringBuilder vsb=new StringBuilder(); foreach(var key in ht.Keys) { fsb.append(key+","); string value=ht[key]; if(value.trim()=="") { value=""; } else { if(value.Contains("'")) { value=value.replace("'","''"); } value="'"+value+"'"; } vsb.append(value+","); } sb.append(fsb.toString().Substring(0,fsb.toString().length-1)); sb.append(") values("); sb.append(vsb.toString().Substring(0,vsb.toString().length-1)); sb.append(")"); return sb.toString(); }
以上所述是小编给大家介绍的oracle插入字符串数据时字符串中有'单引号问题,希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家的,在此也非常感谢大家对小牛知识库网站的支持!
本文向大家介绍groovy 单引号字符串,包括了groovy 单引号字符串的使用技巧和注意事项,需要的朋友参考一下 示例
嘿,我用oracle DB和Iron Python一起使用,但我在使用包含字符“‘”的字符串时遇到了麻烦,就像Mc'Donalds中一样。(我知道它在寻找结尾')从用户输入中接受字符串,我想按原样将其添加到我的数据库中,这意味着不省略或更改任何字符。我怎么做?
本文向大家介绍groovy 双引号字符串(插值),包括了groovy 双引号字符串(插值)的使用技巧和注意事项,需要的朋友参考一下 示例 默认情况下会急切解析该参数,这意味着适用: 为了在每次使用字符串时延迟加载参数,可以这样做:
我可以将替换为其他一些字符序列(例如)来执行字符串替换,但是如果我可以用正则表达式来替换,这将更加清楚。
我有一个StringBuffer类型的变量,它有null字符,即“\0”中间体。我可以用null字符正确打印变量。但是当我试图在Oracle表中插入这个变量时,我不能插入整个StringBuffer变量;只有“\0”之前的部分。我插入这个变量的列的数据类型为varchar2(50)。我不知道为什么会这样。可能是oracle不允许字符串带有null术语字符中间体。我知道一旦在字符串中遇到“\0”,它
问题内容: 我有这个: JSONLint表示这是完全有效的json。但是执行时出现错误。 但是,如果我将代码更改为: (请注意双反斜杠) 它可以工作,但是现在JSONLint表示。 有人可以帮助您了解这种行为吗? 问题答案: 有线格式和您必须在代码中编写的格式之间是有区别的。当您在代码中声明此代码时,您需要在文字中使用双-\,以便字符串获得一个反斜杠(否则,它将\\解释为一个转义序列,仅声明一个“