大きな問題があります。データベースを更新すると、挿入すると情報が挿入されない..... vb.net
データベースを更新すると、情報がデータベースに挿入されません。しかし、情報をデータベースに挿入すると、更新されません。
これは私が挿入するが、それは動作しませんしようとしたデータベース、更新のみを更新するときに私が使用するコードです:しようと、
provider = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Users\311026\Documents\PAP3\Biblio.accdb"
connString = provider
myConnection.ConnectionString = connString
myConnection.Open()
Dim str As String
str = "Insert into Livrosrequisitar([NomeLivro], [AutorLivro], [EditoraLivro], [AnoLivro], [Nome_Aluno], [Ano_Aluno], [Turma_Aluno], [Contacto_Aluno], [Email_Aluno], [DataRequicicao], [RetornoRequicicao]) Values (?,?,?,?,?,?,?,?,?,?,?)"
Dim cmd As OleDbCommand = New OleDbCommand(str, myConnection)
cmd.Parameters.Add(New OleDbParameter("NomeLivro", CType(TextBox11.Text, String)))
cmd.Parameters.Add(New OleDbParameter("AutorLivro", CType(TextBox4.Text, String)))
cmd.Parameters.Add(New OleDbParameter("EditoraLivro", CType(TextBox5.Text, String)))
cmd.Parameters.Add(New OleDbParameter("AnoLivro", CType(TextBox6.Text, String)))
cmd.Parameters.Add(New OleDbParameter("Nome_Aluno", CType(TextBox10.Text, String)))
cmd.Parameters.Add(New OleDbParameter("Ano_Aluno", CType(TextBox9.Text, String)))
cmd.Parameters.Add(New OleDbParameter("Turma_Aluno", CType(TextBox8.Text, String)))
cmd.Parameters.Add(New OleDbParameter("Contacto_Aluno", CType(TextBox13.Text, String)))
cmd.Parameters.Add(New OleDbParameter("Email_Aluno", CType(TextBox12.Text, String)))
cmd.Parameters.Add(New OleDbParameter("DataRequicicao", CType(DateTimePicker1.Text, String)))
cmd.Parameters.Add(New OleDbParameter("RetornoRequicicao", CType(DateTimePicker2.Text, String)))
cmd = New OleDb.OleDbCommand("UPDATE Livrosescola SET Quantidade = Quantidade - 1 Where NomeLivro like'%" & ListBox1.SelectedValue & "%'", myConnection)
ListBox1.Refresh()
Try
cmd.ExecuteNonQuery()
cmd.Dispose()
myConnection.Close()
TextBox11.Clear()
TextBox4.Clear()
TextBox5.Clear()
TextBox6.Clear()
TextBox10.Clear()
TextBox9.Clear()
TextBox8.Clear()
TextBox13.Clear()
TextBox12.Clear()
TextBox9.Clear()
MessageBox.Show("Registo inserido!", "Registo inserido", MessageBoxButtons.OK, MessageBoxIcon.Information)
Catch ex As Exception
MessageBox.Show("Erro!", "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error)
End Try
listbox()
私は情報を挿入したとき、私が使用したコードです更新するには、コードを挿入するだけです。
provider = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Users\311026\Documents\PAP3\Biblio.accdb"
connString = provider
myConnection.ConnectionString = connString
myConnection.Open()
Dim str As String
str = "Insert into Livrosrequisitar([NomeLivro], [AutorLivro], [EditoraLivro], [AnoLivro], [Nome_Aluno], [Ano_Aluno], [Turma_Aluno], [Contacto_Aluno], [Email_Aluno], [DataRequicicao], [RetornoRequicicao]) Values (?,?,?,?,?,?,?,?,?,?,?)"
Dim cmd As OleDbCommand = New OleDbCommand(str, myConnection)
cmd.Parameters.Add(New OleDbParameter("NomeLivro", CType(TextBox11.Text, String)))
cmd.Parameters.Add(New OleDbParameter("AutorLivro", CType(TextBox4.Text, String)))
cmd.Parameters.Add(New OleDbParameter("EditoraLivro", CType(TextBox5.Text, String)))
cmd.Parameters.Add(New OleDbParameter("AnoLivro", CType(TextBox6.Text, String)))
cmd.Parameters.Add(New OleDbParameter("Nome_Aluno", CType(TextBox10.Text, String)))
cmd.Parameters.Add(New OleDbParameter("Ano_Aluno", CType(TextBox9.Text, String)))
cmd.Parameters.Add(New OleDbParameter("Turma_Aluno", CType(TextBox8.Text, String)))
cmd.Parameters.Add(New OleDbParameter("Contacto_Aluno", CType(TextBox13.Text, String)))
cmd.Parameters.Add(New OleDbParameter("Email_Aluno", CType(TextBox12.Text, String)))
cmd.Parameters.Add(New OleDbParameter("DataRequicicao", CType(DateTimePicker1.Text, String)))
cmd.Parameters.Add(New OleDbParameter("RetornoRequicicao", CType(DateTimePicker2.Text, String)))
Try
cmd.ExecuteNonQuery()
cmd.Dispose()
myConnection.Close()
TextBox11.Clear()
TextBox4.Clear()
TextBox5.Clear()
TextBox6.Clear()
TextBox10.Clear()
TextBox9.Clear()
TextBox8.Clear()
TextBox13.Clear()
TextBox12.Clear()
TextBox9.Clear()
MessageBox.Show("Registo inserido!", "Registo inserido", MessageBoxButtons.OK, MessageBoxIcon.Information)
Catch ex As Exception
MessageBox.Show("Erro!", "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error)
End Try
cmd = New OleDb.OleDbCommand("UPDATE Livrosescola SET Quantidade = Quantidade - 1 Where NomeLivro like'%" & ListBox1.SelectedValue & "%'", myConnection)
ListBox1.Refresh()
listbox()
私が同時に同じことをしたいが、それは動作しません...
あなたは私を助けることができれば...
ありがとうございます!
後に不足しているあなたは無用のtryキャッチを持っています。あなたが本当に例外をキャッチしたいのであれば、メッセージを印刷します。 _MessageBox.Show( "エラー:"&ex.Message、....)エラーメッセージの内容を教えてください – Steve
コードのInsert部分にExecuteNonQueryを呼び出すことを忘れてしまった – Steve
こんにちは、ありがとうございます:) –