如何在 Xojo 中使用 SQL UPDATE 删除前导引号

How do I use SQL UPDATE in Xojo to remove leading quotes

我有一个连接到 Xojo 项目的 SQLite 数据库。如果它是引号,我需要去掉第一个字符。这是我尝试过的:

  t=Chr(34)+"%"  // this holds the Quote mark and the wild card  
  S="db.SQLExecute UPDATE "+ CurrentTableName + " SET " + Feilder +" = SUBSTRING("+Feilder+", 2, LEN("+Feilder+")) "
  S=S+"WHERE "+Feilder+" LIKE "+t
  db.SQLExecute S

即使没有 WHERE 子句,我也会收到语法错误。 CurrentTableName 包含 table 名称,Feilder 包含正在评估的字段(或列)。

在 SQLite 中,这是我正在尝试做的事情:

UPDATE Table SET Myfield = SUBSTRING(Myfield, 2, LEN(MyField))
WHERE MyFiled LIKE "%

谢谢,埃里克。

选择子串的函数是subst(),而不是substring()。此外,您应该在 "%...('"%').

两边加上单引号

是啊!固定它。谢谢

我的旧代码有 S="db.SQLExecute 更新 ... 后来我执行 db.SQLExecure S

正如您从下面看到的,一个改变......它起作用了。 S= 现在以更新而不是执行命令开始。

顺便说一句,如果这段代码进入数据库字段,它会去掉前导引号。并且只有前导引号。

  t=Chr(34)+"%"
  S="UPDATE "+ CurrentTableName + " SET " + Feilder +" = SUBSTR("+Feilder+", 2, LENGTH("+Feilder+")) "
  S=S+"WHERE "+Feilder+" LIKE '"+t+"'"

  db.SQLExecute S

感谢凯尔的帮助。