By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
429,423 Members | 1,601 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 429,423 IT Pros & Developers. It's quick & easy.

Data type question for OLEdb data types

P: n/a
I have an access database, and one of the fields in the table I am inserting
into has a date/time data type. What is the correct OleDb data type to
insert the date and time that it is at the moment that the record was
inserted at. I had this, but it gives me a "data type mismatch" error on
run.

Dim cmdPostQuestion As New OleDb.OleDbCommand("INSERT INTO hd_questionsasked
(askedBy,questionText,dateAsked) VALUES (?,?,?)")

cmdPostQuestion.Connection = dbConnection

If dbConnection.State = ConnectionState.Closed Then

dbConnection.Open()

End If

cmdPostQuestion.Parameters.Add("askedBy", OleDb.OleDbType.VarWChar).Value =
getUserName()

cmdPostQuestion.Parameters.Add("dateAsked", OleDb.OleDbType.DBDate).Value =
Now.Date

cmdPostQuestion.Parameters.Add("questionText",
OleDb.OleDbType.VarWChar).Value = Me.txtAskedQuestion.Text

cmdPostQuestion.ExecuteNonQuery()
dbConnection.Close()
if i take out anything relateing to the date, it works just fine...
Nov 17 '05 #1
Share this Question
Share on Google+
1 Reply


P: n/a
Brian,

When you are using the OleDBCommand to execute a paramaterized query, the
parameters must be added to the command in the same order they appear in the
SQL statement. Move the DateAsked Parameter.add statement to after the
questionText Parameter.Add statement.

Also, try using Date.Today.ToString instead of Now.Date. Just an issue of
using the .Net Framework version instead of the VB compatibility version.

This should fix the problem.
****************************
Dim cmdPostQuestion As New OleDb.OleDbCommand("INSERT INTO hd_questionsasked
(askedBy,questionText,dateAsked) VALUES (?,?,?)")

cmdPostQuestion.Connection = dbConnection

If dbConnection.State = ConnectionState.Closed Then

dbConnection.Open()

End If

cmdPostQuestion.Parameters.Add("askedBy", OleDb.OleDbType.VarWChar).Value =
getUserName()

cmdPostQuestion.Parameters.Add("questionText",
OleDb.OleDbType.VarWChar).Value =Me.txtAskedQuestion.Text

cmdPostQuestion.Parameters.Add("dateAsked", OleDb.OleDbType.DBDate).Value =
Date.Today.ToString

cmdPostQuestion.ExecuteNonQuery()
dbConnection.Close()
**************************************

Kirk Graves

"Brian Henry" <br******@adelphia.net> wrote in message
news:%2***************@tk2msftngp13.phx.gbl...
I have an access database, and one of the fields in the table I am inserting into has a date/time data type. What is the correct OleDb data type to
insert the date and time that it is at the moment that the record was
inserted at. I had this, but it gives me a "data type mismatch" error on
run.

Dim cmdPostQuestion As New OleDb.OleDbCommand("INSERT INTO hd_questionsasked (askedBy,questionText,dateAsked) VALUES (?,?,?)")

cmdPostQuestion.Connection = dbConnection

If dbConnection.State = ConnectionState.Closed Then

dbConnection.Open()

End If

cmdPostQuestion.Parameters.Add("askedBy", OleDb.OleDbType.VarWChar).Value = getUserName()

cmdPostQuestion.Parameters.Add("dateAsked", OleDb.OleDbType.DBDate).Value = Now.Date

cmdPostQuestion.Parameters.Add("questionText",
OleDb.OleDbType.VarWChar).Value = Me.txtAskedQuestion.Text

cmdPostQuestion.ExecuteNonQuery()
dbConnection.Close()
if i take out anything relateing to the date, it works just fine...

Nov 17 '05 #2

This discussion thread is closed

Replies have been disabled for this discussion.