2012-06-06 40 views
0

我曾在多次輸入把問題乘插入到MySQL與vb.net

Try 
    Dim StrSQL As String = "INSERT INTO boranga" & _ 
          "(IdBorangA,Answers)" & _ 
          "VALUES (@B_IdA,@B_Answer);" 
    Dim myCommand As MySqlCommand = New MySqlCommand(StrSQL, conn.open) 
    myCommand.CommandType = CommandType.Text 
    Dim parameterB_IdA As MySqlParameter = New MySqlParameter("@B_IdA", MySqlDbType.VarChar, 300) 
    parameterB_IdA.Value = Label1.Text 

    Dim parameterB_Answer As MySqlParameter = New MySqlParameter("@B_Answer", MySqlDbType.VarChar, 300) 
    parameterB_Answer.Value = TextBox1.Text 

    With myCommand.Parameters 
     .Add(parameterB_IdA) 
     .Add(parameterB_Answer) 
    End With 

    Dim result As MySqlDataReader = myCommand.ExecuteReader(CommandBehavior.CloseConnection) 
    MsgBox("Tersimpan", vbYes, "boranga") 

Catch SqlEx As MySqlException 
    Throw New Exception(SqlEx.Message.ToString()) 
End Try 

這個當前的代碼是把只有一個輸入爲每個表「IdBorangA」和「答案」 我嘗試通過增加更多的參數 「parameterB_IdA.Value = Label1.Text」 爲IdBorangA 和 「parameterB_Answer.Value = TextBox2.Text」 爲回答調整它有點

Try 
    Dim StrSQL As String = "INSERT INTO boranga" & _ 
          "(IdBorangA,Answers)" & _ 
          "VALUES (@B_IdA,@B_Answer);" 
    Dim myCommand As MySqlCommand = New MySqlCommand(StrSQL, conn.open) 
    myCommand.CommandType = CommandType.Text 
    Dim parameterB_IdA As MySqlParameter = New MySqlParameter("@B_IdA", MySqlDbType.VarChar, 300) 
    parameterB_IdA.Value = Label1.Text 
    parameterB_IdA.Value = Label2.Text 

    Dim parameterB_Answer As MySqlParameter = New MySqlParameter("@B_Answer", MySqlDbType.VarChar, 300) 
    parameterB_Answer.Value = TextBox1.Text 
    parameterB_Answer.Value = TextBox2.Text 

    With myCommand.Parameters 
     .Add(parameterB_IdA) 
     .Add(parameterB_Answer) 
    End With 

    Dim result As MySqlDataReader = myCommand.ExecuteReader(CommandBehavior.CloseConnection) 
    MsgBox("Tersimpan", vbYes, "boranga") 

Catch SqlEx As MySqlException 
    Throw New Exception(SqlEx.Message.ToString()) 
End Try 

但結果我得到的表格只填充Label2.text和Textbox2.text中的數據。

我不知道怎麼回事 如果你們有什麼想法可以幫助我解決這個問題。 隨時回答:)

回答

0

此行是錯誤的

Dim myCommand As MySqlCommand = New MySqlCommand(StrSQL, conn.open) 

正確的一項

Dim myCommand As MySqlCommand = New MySqlCommand(StrSQL, conn) 

該查詢是一個INSERT 所以你需要調用的ExecuteNonQuery沒有的ExecuteReader該數據旨在用MySqlDataReader進行數據回覆

而且,當然,您在數據庫中只寫入一條記錄,而不是兩條,只是在將命令發送到數據庫之前更改參數的值,只會寫入最後一個值。