2012-06-06 41 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进行数据回复

而且,当然,您在数据库中只写入一条记录,而不是两条,只是在将命令发送到数据库之前更改参数的值,只会写入最后一个值。