我如何在Xojo中使用SQL UPDATE来删除前置引号



我有一个附加到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保存表名,Feilder保存被求值的字段(或列)。

在SQLite中,这是我想做的:

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

谢谢,埃里克。

是啊!固定它。由于

我的旧代码有S="db。SQLExecute UPDATE…之后我执行db。SQLExecure S

正如你从下面看到的,一个变化和…它的工作原理。S=现在以UPDATE命令开始,而不是以execute命令开始。

顺便说一句,如果它进入数据库字段,这段代码会去掉前面的引号。

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

谢谢Kyle的帮助。

选择子字符串的函数是subst(),而不是substring()。此外,您应该在"%…"("%")周围加上单引号。

相关内容

  • 没有找到相关文章

最新更新