如何在 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
感谢凯尔的帮助。
我有一个连接到 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
感谢凯尔的帮助。