0

SQL db(Lover.db)のレコードの更新に関して、basic4androidを使用して立ち往生しています。これは機能します:

 SQLLover.ExecNonQuery("UPDATE Profiles SET Mobile ='Nos', " & _
   "Name = 'Nme', Sunday = 'SundayX', Monday = 'MondayX', " & _
   "Tuesday = 'TuesdayX', Wednesday = 'WednesdayX', Thursday = 'ThursdayX', " & _
   " Friday = 'FridayX', Saturday = 'SaturdayX', " & _
   "StartTime = 'lblTimeFrom.text', EndTime = 'lblTimeTo.Text' " & _
   "WHERE Mobile='07xxxxxxxxx' AND Name='Sam'")

もちろん、単一引用符内のデータで更新するだけです。いくつかの変数を使用したいので、これを試しました。

SQLLover.ExecNonQuery2("Update Profiles SET(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)", & _
    Array As Object(Nos, Nme, SundayX, MondayX, TuesdayX, WednesdayX, & _
    ThursdayX, FridayX, SaturdayX, lblTimeFrom.Text, lblTimeTo.Text))

これは正しい構文ですか? もちろん、 、Nosなどは私の変数です。NmeSundayX

4

2 に答える 2

0

あなたのUPDATE構文は完全に間違っています。正しい構文は次のとおりですUPDATE table SET column = value, column2 = value2。あなたはあなたのコードでそれに近いことさえ何もしていません。わざわざ全部を入力するつもりはありませんが、始めるのに十分なことをします。

SQLLover.ExecNonQuery2("Update Profiles " & _
  "SET Mobile = ?, Name = ?, Sunday = ?, Monday = ?", & _
  Array As Object(Nos, Nme, SundayX, MondayX))
于 2013-01-19T17:09:18.003 に答える
0

作業中のコードで、クエリで変数を使用できるようにするには、クエリをエスケープして変数を連結する必要があります。この短い例を見てください

SQLLover.ExecNonQuery("UPDATE Profiles SET Mobile = ' " & NOs & " ', Name = ' "&NMe & " ' WHERE Name = ' " & OldNameVariable & " ' ")

SO TO USE VARIABLE 例のように「& VARIABLENAME &」 を挿入します (Mobile = ' "& Nos &"')

ヒント: 最後のクエリは次のようになります: AND Name=' " & SamOldVariableName & " ' " )

于 2016-02-12T15:18:53.517 に答える