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

时间:2015-09-23 05:55:39

标签: sqlite realbasic xojo

我有一个附加到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 "%

谢谢,Eric。

2 个答案:

答案 0 :(得分:1)

是啊!固定它。感谢

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

正如你从下面看到的那样,一个改变......它有效。 S =现在以UPDATE开始,而不是执行命令。

顺便说一句,如果进入数据库字段,此代码会删除前导引号。而且只有领先的报价。

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

  db.SQLExecute S

感谢Kyle的帮助。

答案 1 :(得分:0)

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