0

だから私は(悲しいことに)アクセスを使用してvbプログラムを駆動し、学生をクラスに登録しています。レジスター、学生、およびコースの 3 つのテーブルがあります。

ここに画像の説明を入力

学生 ID とコース ID をリレーションシップとしてレジスタ テーブルに追加したいと思います。私がSQLをやったのは久しぶりだったので、初めて恐ろしく失敗しました:

INSERT students.id INTO register.studentid WHERE 1 = students.id 
INSERT courses.id INTO register.courseid WHERE '12345' = courses.crn

INSERT INTO の使い方が間違っていました。ただし、次のようなことはできますか。

INSERT INTO register (studentid, courseid) VALUES (1 = students.id, '12345' = courses.crn);

私の現在のVBコードは次のように機能するためです:

If Not TextBox1.Equals("") Then

        query += "INSERT students.id INTO register.studentid WHERE '" & StudentID & "' = students.id "
        query += "INSERT courses.id INTO register.courseid WHERE '" & TextBox1.Text & "' = courses.crn"
    End If
4

1 に答える 1

0

ステートメントINSERTは次の形式である必要があります

INSERT INTO table_name (column1,column2,column3,...)
VALUES (value1,value2,value3,...)

だから、あなたが探しているのは次のようなものです:

INSERT INTO register (studentid, courseid) VALUES (1, '12345')

If Not TextBox1.Equals("") Then
    query += "INSERT INTO register (studentid, courseid) VALUES (" & StudentID & ", '" & TextBox1.Text & "')"
End If

以下は、操作できるSQL Fiddleの例です。

于 2013-10-28T19:51:03.253 に答える