thilim9
thilim9

Reputation: 307

Inserting the current datetime in vb.net(DateTime to String Conversion)

I'm suppose to enter datatime to the database by passing this query

Dim regDate As DateTime = DateTime.Now
Dim strDate As String = regDate.ToString("yyyyMMddHHmmss")

I pass the "strDate" to the query,data type of my database table is datetime

objcon.DoExecute("INSERT INTO DistributorF VALUES('" & txtDisId.Text & "',
     '" & txtDisNm.Text & "','" & txtDisAdd.Text & "',
     '" & txtDisTele.Text & "','" & txtDisEmail.Text & "','" & regDate & "')")" 

but it's getting error saying that

conversion failed when converting date and/or time from character string.

Help me to solve this problem

Upvotes: 0

Views: 18637

Answers (3)

Exterion
Exterion

Reputation: 5

May this works for you, at least it works for me on an acces db

Try    
  Dim cn As New OleDbConnection("your conection string here")
        If cn.State = ConnectionState.Open Then
            cn.Close()
        End If
        cn.Open()
  Dim sSQL As String = "insert into UserInfo(Date) values(@d1)"
  Dim cmd As OleDbCommand = New OleDbCommand(sSQL, cn)

  Dim date As OleDbParameter = New OleDbParameter("@d1", OleDbType.Date, 15)
  date.Value = DateTimePicker1.Text.ToString()
  cmd.Parameters.Add(date)

  If cmd.ExecuteNonQuery() Then
                cn.Close()
                MsgBox("successfully... ", MsgBoxStyle.Information, "Record Saved")
  Else
                MsgBox("failed... ", MsgBoxStyle.Critical, "Registration failed")
                Return
  End If

  Catch ex As Exception
        MessageBox.Show(ex.Message.ToString(), "Data Error")
        Exit Sub
  End Try

i hope this helps you,

regards Tom

Upvotes: 0

Nagaraj S
Nagaraj S

Reputation: 13474

you have to pass strDate in query.Always use paremeterized query to avoid SQL injection

objcon.DoExecute("INSERT INTO DistributorF VALUES('" & txtDisId.Text & "',
     '" & txtDisNm.Text & "','" & txtDisAdd.Text & "',
     '" & txtDisTele.Text & "','" & txtDisEmail.Text & "','" & strDate & "')")" 

Upvotes: 0

HengChin
HengChin

Reputation: 593

 Dim regDate As DateTime = DateTime.Now
 Dim strDate As String = regDate.ToString("yyyy-MM-dd HH:mm:ss")

 objcon.DoExecute("INSERT INTO DistributorF VALUES('" & txtDisId.Text & "',
 '" & txtDisNm.Text & "','" & txtDisAdd.Text & "',
 '" & txtDisTele.Text & "','" & txtDisEmail.Text & "','" & strDate & "')")"

Upvotes: 2

Related Questions