在java中,在创建文件名时,单引号将自动替换为两个单引号
在使用MYSQL用java创建文件时,我遇到了一个奇怪的问题 我的代码:在java中,在创建文件名时,单引号将自动替换为两个单引号,java,mysql,openlaszlo,Java,Mysql,Openlaszlo,在使用MYSQL用java创建文件时,我遇到了一个奇怪的问题 我的代码: String lChildSql = this.lSQLBucket.select("get.child.by.name") .replace("LEFT").with(lLeft) .replace("RIGHT").with(lRight) .replace("LEVEL").
String lChildSql = this.lSQLBucket.select("get.child.by.name")
.replace("LEFT").with(lLeft)
.replace("RIGHT").with(lRight)
.replace("LEVEL").with(lLevel + 1)
.replace("NAME").with(pName).get()
ResultSet lChildRs = lDB.Qry(lChildSql);
示例:如果我使用pName raj'sek'har创建了一个文件,并且它被自动创建为raj“sek”har
请帮我解决这个问题
问候,
Raj未知用户所说的是,这是正常行为。这是sql如何处理单词中的单引号(撇号) sql对字符串使用单引号-
“这是一个字符串”
-但如果字符串包含单引号,则会导致问题-“这不起作用”
-因为字符串“提前结束”
因此,sql所做的是用两个单撇号来代替它,这是一个“转义序列”,表示实际上需要一个单撇号[sic]:“这将很好地工作”
请注意,这仅用于显示。它不会“真正”替换任何东西,当您检索数据时,一切都会很好
你能发布你正在使用的所有代码吗?你能确认它不是两个单引号吗?SQL不是经常使用两个单引号来屏蔽撇号吗?Hi@user unknown,是的,它被两个单引号替换,而不是双引号…我如何解决这个问题