1

次のフィールドを持つStudentsテーブルへのレジストリの追加、編集、および削除に関するデータベースプロジェクトに取り組んでいます。

Last_names、Names、IcNumber、Average、Entry_mode、Career and Change

編集フレームには、ユーザーがデータを編集するために学生のicnumberを入力し、新しいデータを要求して「学生」データ構造に保存し、新しいデータでレジストリを再更新するフィールドがあります。

String stmnt = "Insert Into Students (Last_names, Names, IcNumber, Average, " + 
        "Entry_mode, Career, Change) Values ('" + student.getLastNames() + 
        "', '" + student.getNames() + "', '" + student.getIcNumber() + "', " +
        student.getAverage() + ", '" + student.getEntry() + "', '" +
        student.getCareer() + "', '" + student.getChange() + "') " +
        "Where IcNumber = '" + field.getText() + "'";

statement.execute(stmnt);

そして、私はこのエラーメッセージを受け取ります:

[Microsoft] [MicrosoftAccessODBCドライバー]「クエリ入力には少なくとも1つのテーブルまたはクエリが含まれている必要があります。」

「Where」条件なしでプログラムのレジストリ領域を追加する際に同様のSQL命令を試しましたが、正常に機能します。誰かがそのエラーについて知っていますか?

4

3 に答える 3

2

サブクエリを使用する必要があります。最初に WHERE を含む SELECT 部分を使用し、次に INSERT 部分を使用します。

  if (cond){
             (SELECT.....)
                (INSERT INTO...)}
于 2012-10-16T04:39:15.047 に答える
0

なぜステートメントで使用whereしているのですか?句は、およびステートメントでは適用できますが、 では適用できません。また、クエリに句が必要だとは思いません。insertWhereselectupdatedeleteinsertwhere

insertなしでステートメントを使用するだけです。where

于 2012-10-16T04:38:52.333 に答える
0

INSERTステートメントを使用して、新しいレコードを追加します。節がステートメントWHEREに属していません。INSERT

既存のレコードを編集している場合は、UPDATEステートメントを使用する必要がありますWHERE。句は、変更するレコードを識別する意味があります。

于 2012-10-16T04:39:56.820 に答える