2

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 "%

ありがとう、エリック。

4

2 に答える 2

1

うん!修正しました。ありがとう

私の古いコードには S="db.SQLExecute UPDATE ... 後で db.SQLExecure S を実行しました

下から見ると、1 つの変更と ... 動作します。S= は、execute コマンドではなく UPDATE で始まるようになりました。

ところで、このコードは、データベース フィールドに入ると先頭の引用符を取り除きます。そして、先頭の引用のみ。

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

  db.SQLExecute S

助けてくれてありがとうカイル。

于 2015-09-23T19:34:07.020 に答える
0

部分文字列を選択する関数は、substring() ではなく、subst() です。また、"%...('"%') を一重引用符で囲む必要があります。

于 2015-09-23T06:40:02.620 に答える