7

新しいデータを SQLite テーブルに挿入しようとしています。

  • 挿入コードが正しいことは確かです。さまざまなテーブルに使用していて、正常に機能するからです。

  • データベースとテーブルが作成されて存在していることは、SQLite ブラウザーで確認できるため、確実にわかります。

しかし、次の例外を受け取るため、作成または挿入の SQLite 構文の何かが間違っています。

SQL エラーまたはデータベースがありません

これが私のコードです:

CREATE TABLE IF NOT EXISTS Theory_answers ("questionID" INTEGER,"answerID" INTEGER,"answerText" TEXT, "isTrue" INTEGER);

INSERT INTO Theory_answers (questionID, answerID, answerText,isTrue) VALUES ("1","1",text,"0");
4

4 に答える 4

9

これでいいのか……

VALUES ("1","1",text,"0") -> VALUES (1,1,'text',0)

または

VALUES ("1","1","text","0") <-- if you need to double quote all values?

このリンクを見ると、テキストを一重引用符で囲み、数字を引用符で囲んで挿入しないことが示唆されています...

sqlite> INSERT INTO Books(Id, Title, Author, ISBN) ...> VALUES(1, '戦争と平和', 'Leo Tolstoy', '978-0345472403');

于 2013-08-11T15:08:59.610 に答える
4

エラーが実際に表示されている SQL にある場合、エラーには 2 つのオプションがあります。

  • 各行を で終了して;いないため、SQLite は 2 つの別個のステートメントであることを認識できません。

  • 挿入ステートメントで「テキスト」を引用するのを忘れました。

通常、あなたが述べているエラーは、SQLite が開くように要求しているデータベースを見つけられないことが原因であり、コードを見ずにデバッグするのは非常に困難です。

于 2013-08-11T15:09:17.187 に答える