ボタンをクリックすると実行されるクエリがあります。
データベースを更新するシステムdate = "DateColumn"の場合に設定します。
Else に挿入するには今日が今日の場合は、データベースを「更新」し、そうでなければ「挿入する」
Dim provider As String
Dim dataFile As String = My.Application.Info.DirectoryPath
provider = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source ="
dataFile = ("Database\Base-Original.accdb")
Using myconnection As New OleDbConnection(provider & dataFile)
myconnection.Open()
Dim sqlQry1 As String = "INSERT INTO [Table] ([Column1], [Column2], [Column3], [Column4], [Date]) VALUES (@1, @2, @3, @4, @5)"
Using cmd As New OleDbCommand(sqlQry1, myconnection)
cmd.Parameters.AddWithValue("@1", Combobox1.SelectedItem.ToString)
cmd.Parameters.AddWithValue("@2", textbox1.Text)
cmd.Parameters.AddWithValue("@3", Textbox2.Text)
cmd.Parameters.AddWithValue("@4", Combobox2.SelectedItem.ToString)
cmd.Parameters.AddWithValue("@5", Date.Now.ToShortDateString)
If cmd.ExecuteNonQuery() Then
myconnection.Close()
MsgBox("successfull. ", MsgBoxStyle.Information, "Record Saved")
Else
MsgBox("failed. ", MsgBoxStyle.Critical, "Registration failed")
Return
End If
End Using
End Using
私はINSERT INTOを持っていますが、私はどのようにデータベースを更新する代わりに新しいレコードを挿入して行くには考えている...私はアップデートする方法を知っていますが、私は1つのレコードを持っているしたいのですが列名(Column1)を1日に1回使用します。
リーダーを使用して日付の列を確認する必要はありますか? 別の方法がありますか?私は正しい方向に向けるだけです。ここでこのコードは、今日の日付に等しい日付値を持つレコードのデータベースを検索します
このようなレコードがあるかどうかを確認し、それに応じて行動しないのはなぜですか? 'AddWithValue'は悪い考えであり、文字列として日付を保存することは非常に、非常に悪い考えです – Plutonix
私は方法がわかりません。私はcolumn1とdate.todayのレコードがあるかどうかをチェックし、新しいものがなければそれを更新してください。 – Taffs
それでは、あなたが研究する必要があることがあります。 http://www.tutorialspoint.com/sql/ – Plutonix