[Last Call] Learn how to a build a cloud-first strategyRegister Now

x
?
Solved

executenonquery() Syntax Error

Posted on 2010-09-21
6
Medium Priority
?
404 Views
Last Modified: 2013-11-07
I'm getting a "Syntax error converting datetime from character to string".
The returned error says it is located on this line of code: cmd.executenonquery()

Please see code below. All and any help is greatly appreciated. Thanks!
Public Sub btnSubmit_Click (byval s as object, byval e as system.eventargs)
	Dim con as sqlConnection
	dim cmd as sqlcommand
	Dim dtr as Sqldatareader
	Dim str as string
	Dim strAccount as string
	dim BreakTestID as integer
	
	con = new sqlconnection ("Server=sqlserver;UID=sa;PWD=#####;Database=BreakTest")
	
	str = "INSERT tblBreakTest (BreakTestNO, InstallDate, CustomerNO, LoginID,BreaktestDate,Division,Application, TypeofService, Comments, Location, ProdDesc, NoofLines, ProductNO, ReturnReason, Status, SplicerName, SplicerRegion, SplicerCountry, SplicerPhone, SplicerPostalCode, SplicerState) VALUES "
	str = str & "(@BreakTestNo, @InstallDate, @Customer, @Login, @BreakTestDate, @Division, @Application, @TypeofService, @Comments, @Location, @ProdDesc, @NoofLines, @Product, @ReturnReason, @Status, @SplicerName, @Region, @Country, @SplicerPhone, @PostalCode, @State )"
	cmd = New sqlcommand (str, con)
	cmd.parameters.add ("@BreakTestNo", lblBreakTestID.Text)
	cmd.parameters.add ("@InstallDate", txtinstallDate.text)
	cmd.parameters.add ("@Customer", lblCompanyNo.text)
	cmd.parameters.add ("@Login", label2.text)
	cmd.parameters.add ("@BreakTestDate", txtDate.text)
	cmd.parameters.add ("@Division", cboDivision.text)
	cmd.parameters.add ("@Application", cboApplication.text)
	cmd.parameters.add ("@TypeofService", cboService.text)
	cmd.parameters.add ("@Comments", txtComments.text)
	cmd.parameters.add ("@Location", cboLocation.text)
	cmd.parameters.add ("@ProdDesc", txtProdDesc.text)
	cmd.parameters.add ("@NoofLines", txtNoLines.text)
	cmd.parameters.add ("@Product", txtProductNo.text)
	cmd.parameters.add ("@ReturnReason", cboReturnReason.text)
	cmd.parameters.add ("@SplicerName", txtSplicerName.text)
	cmd.parameters.add ("@Region", txtRegion.text)
	cmd.parameters.add ("@Country", txtCountry.text)
	cmd.parameters.add ("@SplicerPhone", txtPhoneNumber.text)
	cmd.parameters.add ("@PostalCode", txtPostalCode.text)
	cmd.parameters.add ("@State", txtState.text)
	
	strAccount = request.cookies("AccountCookie").value
	
	Select Case strAccount
	Case "Regional Sales Manager"
		cmd.parameters.add ("@Status", "Pending-GSM Approval")
	Case "General Sales Manager"
		cmd.parameters.add ("@Status","Pending-Technical Manager Approval")
	Case "R & D Personnel"
		cmd.parameters.add ("@Status", "Approved-Pending Receipt of Rope")
	Case Else
		cmd.parameters.add("@Status", "Initiated")
	End Select
	
	con.open()
	cmd.executenonquery()
	con.close()

Open in new window

0
Comment
Question by:dhaverstraw
6 Comments
 
LVL 4

Expert Comment

by:timexist
ID: 33729667
error is from this:
cmd.parameters.add ("@InstallDate", txtinstallDate.text)
try to change to this:
cmd.parameters.add ("@InstallDate",Cdate(txtinstallDate.text))

Of course you need to user's input first.
0
 

Author Comment

by:dhaverstraw
ID: 33729781
Changed the code. User now recieves this error: Conversion from string "tbd" to type 'Date' is not valid.
Error is on cmd.parameters.add ("@InstallDate", Cdate(txtinstallDate.text))
0
 
LVL 4

Accepted Solution

by:
timexist earned 420 total points
ID: 33729821
you need to check this txtinstallDate.text first.
before you pass this string in, you should put an validation on this field.
something likes a mask.
All Input Data Is Evil.
0
Independent Software Vendors: We Want Your Opinion

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 
LVL 29

Assisted Solution

by:Kumaraswamy R
Kumaraswamy R earned 80 total points
ID: 33731632


try to change like this:
if (txtinstallDate.text != "")
 cmd.parameters.add ("@InstallDate",Cdate(txtinstallDate.text))
else
 cmd.parameters.add ("@InstallDate",datetime.minvalue)
0
 
LVL 8

Expert Comment

by:Gururaj Badam
ID: 33731909
In the simplest terms how many date columns does the table contain and what are the values you're passing through the command?
0
 
LVL 5

Expert Comment

by:soujanya_g
ID: 33763202
Hi

InstallDate as taken as text parameter insted of date time convert it into date time using cDate and eecute your application
0

Featured Post

Free Tool: IP Lookup

Get more info about an IP address or domain name, such as organization, abuse contacts and geolocation.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Note:  There are two main ways to deploy InfoPath forms:  Server-side and directly through the SharePoint site.  Deploying a server-side InfoPath form means the form is approved by the Administrator, thus allowing greater functionality in the form. …
In this article we will get to know that how can we recover deleted data if it happens accidently. We really can recover deleted rows if we know the time when data is deleted by using the transaction log.
Exchange organizations may use the Journaling Agent of the Transport Service to archive messages going through Exchange. However, if the Transport Service is integrated with some email content management application (such as an anti-spam), the admin…
With just a little bit of  SQL and VBA, many doors open to cool things like synchronize a list box to display data relevant to other information on a form.  If you have never written code or looked at an SQL statement before, no problem! ...  give i…

830 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question