我创建了一个实习项目的期刊程序,并使用MS-Access数据库。我在编程VB.net。现在,我试图让他们可以“更新”他们的期刊,这意味着他们点击他们的日历日期,并且如果他们在那个日期有日期,他们会将它们带到该日记中。如果他们有那个日期,那么它会显示该日期的标题和日记文本条目。我希望这样做的目的是当他们点击更新按钮时,他们对日志所做的任何更改(编辑文本框字段)也会在数据库中更改。以下是我迄今为止如何更新MS Access数据库(vb.net)
Private Sub COE_JournalBtn_Click(sender As System.Object, e As System.EventArgs) Handles COE_JournalBtn.Click
If DateTimePicker1.Value <> Nothing Then
If TitleTxt.Text <> "" Then
If JournalTextRtxt.Text <> "" Then
myConnection.Open()
Dim DatePicked As String = DateTimePicker1.Value
Dim cmd As OleDbCommand
Dim str As String
Try
MyJournalTitle = TitleTxt.Text
MyJournalText = JournalTextRtxt.Text
str = "UPDATE Journals SET JournalTitle='" & MyJournalTitle & "', JournalText='" & MyJournalText & "' WHERE JournalDate=" & DatePicked
cmd = New OleDbCommand(str, myConnection)
cmd.ExecuteNonQuery()
myConnection.Close()
Catch ex As Exception
MessageBox.Show("There was an error processing your request. Please try again." & vbCrLf & vbCrLf & _
"Original Error:" & vbCrLf & vbCrLf & ex.ToString, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error)
myConnection.Close()
End Try
myConnection.Close()
End If
End If
End If
End Sub
现在本身我更新的字符串是
"UPDATE Journals SET JournalTitle='" & MyJournalTitle & "', JournalText='" & MyJournalText & "' WHERE JournalDate=" & DatePicked
现在,发生了什么,绝对没有。没有错误框出现。没有消息框出现。该程序不冻结。数据库保持不变。我究竟做错了什么?我的代码中是否有错误或缺失?请帮助我,因为我真的想知道这一点,我一直在寻找一个解决方案在VB.net无法找到一个适用于我,因为我正在使用MS-Access和NOT SQL。
由于提前, 理查德Paulicelli
非常感谢你,那是我的问题所在,那是日期。我想这就是问题所在,当我放置一个断点并分析了所有我注意到的散列标记的代码和值时,我甚至都没有想到将它们放在update语句中。无论如何,非常感谢你的帮助。 顺便说一句,日期格式实际上是mm-dd-yyyy。此外,这只是一个内部项目,而不是公开发布。但是谢谢你的提示以备将来参考。 – 2012-08-06 18:19:50