I'm a Noobie, so please be descriptive and provide sample code.
Situation: ASP.NET 2.0, VB.NET, OLE.DB
I've created a page in my ASP.NET Website which will allow the user to add a record. I made the access database "RecordID" a number so that I can manually create the ID through code. The reason I did this is because the user will also be able to update the record, making it RecordID = 1 & VersionID = 2, and so on. So I will eventually have multiple records with the same RecordID, but with different VersionID #'s, so that there are no duplicates. And as you know, using autonumber will not allow for inputting the same ID twice. This event will take place on a btnSubmit_Click event handler.
The reason I must be able to duplicate the Record ID is because my client does not want any records to be replaced. So, when an employee updates the record, instead of replacing it, it will be added as a new record. But they need to have the same ID number so they are linked, and have different version number so that all records with the same ID number can be called and viewed, as well as tracked.
I Have pasted the code I have below so you may better help my situation. Notice my problem is here:
( ' Add Record ID parameter and set it to the value entered by user
cmd.Parameters.Add("@RecordID", Data.OleDb.OleDbType.VarChar, 50)
cmd.Parameters("@RecordID").Value = "1"
' Add Record Version parameter and set it to the value entered by user
cmd.Parameters.Add("@RecordVersion", Data.OleDb.OleDbType.VarChar, 50)
cmd.Parameters("@RecordVersion").Value = "1" )
I hope to be able to use this example for my Record Update page too. I'm sure it won't be much different.
Please provide your explanation and code sample in OLE.DB and VB.NET. Thank you again, Jim
Protected Sub btnCreateRecord_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnCreateRecord.Click
' User clicked Submit Record button - required fields have been filled in. create record
Dim conn As New OleDbConnection ' define connection string
Dim cmd As New OleDbCommand ' define data command
Dim cmdString As String ' select query
Dim blnSaved As Boolean = True ' indicates if save was successful, default to true ' Create connection to access database
conn = New Data.OleDb.OleDbConnection("Provider=Microsoft.Jet.OleDb.4.0;" & _ "Data Source=|DataDirectory|\RecordDatabase.mdb")
' Create insert data command
cmdString = "INSERT INTO [tblRecord] ( [RecordID], [RecordVersion], [ProjectName], [Department], [OriginalSubmitDate], [RecordStatement], [Rank], [Identifiedby], [RecordDetail]) VALUES " & _ "(@RecordID, @RecordVersion, @ProjectName, @Department, @OriginalSubmitDate, @RecordStatement, @Rank, @Identifiedby, @RecordDetail)"
' Create data command using the select statement and connection string
cmd = New Data.OleDb.OleDbCommand(cmdString, conn)
' Add Record ID parameter and set it to the value entered by user
cmd.Parameters.Add("@RecordID", Data.OleDb.OleDbType.VarChar, 50)
cmd.Parameters("@RecordID").Value = "1"
' Add Record Version parameter and set it to the value entered by user
cmd.Parameters.Add("@RecordVersion", Data.OleDb.OleDbType.VarChar, 50)
cmd.Parameters("@RecordVersion").Value = "1"
' Add Project Name and set it to the value entered by user
cmd.Parameters.Add("@ProjectName", Data.OleDb.OleDbType.VarChar, 50)
cmd.Parameters("@ProjectName").Value = Me.txtProjectName.Text
' Add Department parameter and set it to the value entered by user
cmd.Parameters.Add("@Department", Data.OleDb.OleDbType.VarChar, 50)
cmd.Parameters("@Department").Value = Me.txtDepartment.Text
' Add Date parameter and set it to the value entered by user
cmd.Parameters.Add("@OriginalSubmitDate", Data.OleDb.OleDbType.VarChar, 50)
cmd.Parameters("@OriginalSubmitDate").Value = Me.txtDate.Text
' Add Record Statement parameter and set it to the value entered by the user
cmd.Parameters.Add("@RecordStatement", Data.OleDb.OleDbType.VarChar, 50)
cmd.Parameters("@RecordStatement").Value = Me.txtRecordStatement.Text
' Add Rank parameter and set it to the value entered by user
cmd.Parameters.Add("@Rank", Data.OleDb.OleDbType.VarChar, 50)
cmd.Parameters("@Rank").Value = Me.ddlRank.Text
' Add Identified by parameter and set it to the value entered by the user
cmd.Parameters.Add("@Identifiedby", Data.OleDb.OleDbType.VarChar, 50)
cmd.Parameters("@Identifiedby").Value = Me.txtIdentifiedby.Text
' Add Requirement Detail parameter and set it to the value entered by the user
cmd.Parameters.Add("@RecordDetail", Data.OleDb.OleDbType.VarChar, 50)
cmd.Parameters("@RecordDetail").Value = Me.txtRecordDetail.Text
' Open the connection to database
conn.Open()
Try
cmd.ExecuteNonQuery()
Catch ex As Exception
' If error ocurred during save, display error and set focus to User ID and set blnSaved to false
blnSaved = False
lblError.Visible = True
Me.txtRecordStatement.Focus()
End Try
' Close connection
conn.Close()
' If save was successful, Notify User and redirect to default.aspx
If blnSaved = True
ThenMsgBox("Your Record was successfully saved! You will now be directed to the Main Page.")
Response.Redirect("~/Default.aspx")
End If
End Sub