0

私は開発が初めてで、Androidで次のエラーが発生しています:

08-24 23:55:15.744: E/AndroidRuntime(29803): Caused by: android.database.sqlite.SQLiteException: no such column: customerName (code 1): , while compiling: INSERT INTO nncdjiftable (customerName, timeShift, date01, vendorGameThemePT, managerSignature, managerDate, jackpotAmount, lessTaxesWithheld, cashierSignature, taxRate, slotAttendantSignature, totalAmountPaid, slotSupervisorMODSignature, customerSignature, date03) VALUES (customerName, timeShift, date01, vendorGameThemePT, managerSignature, managerDate, jackpotAmount, lessTaxesWithheld, cashierSignature, taxRate, slotAttendantSignature, totalAmountPaid, slotSupervisorMODSignature, customerSignature, date03)

これは私のコードです:

nncdjifdb.execSQL("CREATE TABLE IF NOT EXISTS nncdjiftable(customerName VARCHAR,timeShift VARCHAR,date01 VARCHAR,vendorGameThemePT VARCHAR,managerSignature VARCHAR,managerDate VARCHAR,jackpotAmount VARCHAR,lessTaxesWithheld VARCHAR,cashier VARCHAR,taxRate VARCHAR,slotAttendant VARCHAR,totalAmountPaid VARCHAR,slotSupervisorMOD VARCHAR,customerSignature VARCHAR,date03 VARCHAR);");

nncdjifdb.execSQL("INSERT INTO nncdjiftable (customerName, timeShift, date01, vendorGameThemePT, managerSignature, managerDate, jackpotAmount, lessTaxesWithheld, cashierSignature, taxRate, slotAttendantSignature, totalAmountPaid, slotSupervisorMODSignature, customerSignature, date03) VALUES (customerName, timeShift, date01, vendorGameThemePT, managerSignature, managerDate, jackpotAmount, lessTaxesWithheld, cashierSignature, taxRate, slotAttendantSignature, totalAmountPaid, slotSupervisorMODSignature, customerSignature, date03)");

私はこれを作成するためにチュートリアルを使用してきましたが、特定の構文を使用しているいくつかのポイントで行き詰まったため、変更する必要がありましたが、さらに壊れたようです。SQLITE no を使用してここをかなり調べました。そのようなコラムですが、それらの多くは差分構文を使用しているように見えます。私はまだこれに慣れていないので、よくわかりません。

どんな助けでも大歓迎です。

4

4 に答える 4

0

前に例を実行したことがある場合は、CREATE TABLE ステートメントに変更を加える前に、テーブルが既に作成されている可能性があります。

テーブルが既に存在するため、新しい列で CREATE TABLE が実行されず、それらの列が存在しないため、INSERT INTO ステートメントでそのエラーが発生しています。

いくつかのオプションがあります。

  • データベースが削除されるようにアプリのデータを消去します
  • DROP TABLE nncdjiftable を実行してテーブルを削除します
  • 欠落している列を追加するには、ALTER TABLE ADD COLUMN ステートメントを実行します。

最初の 2 つは最も簡単ですが、データベース/テーブルにあるデータが失われます。

于 2013-08-25T07:57:07.553 に答える
0

SQLについてはよくわかりませんが、最初の .execSQL で気づいたら、それはで終わります

,date03 VARCHAR);");

そして2番目に

、date03)");

に注意してください。) の後に引用します。

于 2013-08-25T07:58:42.950 に答える
0

関連するコードを投稿していないかどうかはわかりませんが、変数に値を指定していないようです...たとえば、customerName = "customerName"...など.

于 2013-08-25T08:00:08.633 に答える