-3

コードに実行させたいのは、テキストボックスのID番号から入力を取得し、IDが属するレコードを取得して別のテーブルに挿入することですが、SQLステートメントを変更しても、ボタンを押しても何も起こりません。

Protected Sub Button4_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button4.Click

Dim con As New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0; data source= " & Server.MapPath("~/Members.mdb"))

Dim cmd As New OleDbCommand

 Dim i As Integer

cmd.Connection = con

 cmd.CommandType = Data.CommandType.Text

cmd.CommandText = "insert into kfupm_stu_visitor (kfupm_stu_id, stu_name, kfupm_maj_id, kfupm_dep_id, level_id) select * from kfupm_stu where fupm_stu_id like @kfupm_stu_id"
        cmd.Parameters.Add("KFUPM_STU_ID", OleDbType.Integer).Value = "%" & txtSTU_ID.Text & "%"
        con.Open()

        Try
            i = cmd.ExecuteNonQuery()
        Catch ex As Exception

            Response.Redirect("msgpage.aspx?id=1")
        Finally
            con.Close()
            End Try

        Response.Redirect("msgpage.aspx?id=2")

    End Sub
4

1 に答える 1

7

values (...)クエリを使用して列を埋める場合、その部分は必要ありません。次のようにする必要があります。

insert into kfupm_stu_visitor 
(kfupm_stu_id, stu_name, kfupm_maj_id, kfupm_dep_id, level_id)
select * from 
kfupm_stu where fupm_stu_id like @kfupm_stu_id

もちろん、これは のkfupm_stu列がリストの列と正確に一致することを前提としていますinsert into

于 2012-12-27T21:03:24.443 に答える