Microsoft
Software
Hardware
Network
Question : Pervasive error when Using date add function and using result in query
I have written a program that writes data to text files. For one of the textfiles I need to check the date 30 days in the past and write the data results from that date forward. The code I'm using is below and the error I receive is attached. Any help is greatly appreciated!! Thanks!!!
If System.IO.File.Exists(FILE
_NAME) = True Then
Dim LastMonth As Date = DateAdd(DateInterval.Day, -30, Date.Today)
Convert.ToString(LastMonth
)
mySelectQuery6 = " "
mySelectQuery6 = mySelectQuery6 & "SELECT DISTINCT APVendor.ID, CMCheck.CheckNo, CMCheck.CheckDate, CMCheck.Amount "
mySelectQuery6 = mySelectQuery6 & "FROM APVendor INNER JOIN CMCheck ON APVendor.SKAPVendor = CMCheck.FKAPVendor "
mySelectQuery6 = mySelectQuery6 & "WHERE(((CMCheck.Status) <> 2 And (CMCheck.Status) <> 34) AND (CMCheck.CheckDate > " & LastMonth & ")) "
mySelectQuery6 = mySelectQuery6 & "ORDER BY CMCheck.CheckNo; "
Else
mySelectQuery6 = " "
mySelectQuery6 = mySelectQuery6 & "SELECT DISTINCT APVendor.ID, CMCheck.CheckNo, CMCheck.CheckDate, CMCheck.Amount "
mySelectQuery6 = mySelectQuery6 & "FROM APVendor INNER JOIN CMCheck ON APVendor.SKAPVendor = CMCheck.FKAPVendor "
mySelectQuery6 = mySelectQuery6 & "WHERE(((CMCheck.Status) <> 2 And (CMCheck.Status) <> 34)) "
mySelectQuery6 = mySelectQuery6 & "ORDER BY CMCheck.CheckNo; "
End If
'Pass the file path and the file name to the StreamWriter constructor.
myCommand = New OdbcCommand(mySelectQuery6
, myConnection)
Dim objStreamWriter6 As StreamWriter
objStreamWriter6 = New StreamWriter("C:\Rolligon\
Data\POPay
Hist.txt")
myConnection.Open()
header(0) = "VendorID"
header(1) = "ERP"
header(2) = "CheckNo"
header(3) = "CheckDate"
header(4) = "CheckAmt"
header(5) = " "
header(6) = " "
header(7) = " "
header(8) = " "
header(9) = " "
header(10) = " "
header(11) = " "
header(12) = " "
header(13) = " "
header(14) = " "
header(15) = " "
header(16) = " "
header(17) = " "
header(18) = " "
header(19) = " "
header(20) = " "
header(21) = " "
header(22) = " "
header(23) = " "
header(24) = " "
header(25) = " "
header(26) = " "
header(27) = " "
header(28) = " "
header(29) = " "
header(30) = " "
header(31) = " "
header(32) = " "
header(33) = " "
header(34) = " "
header(35) = " "
header(36) = " "
objStreamWriter6.WriteLine
(String.Jo
in(Control
Chars.Tab,
header))
Try
myReader = myCommand.ExecuteReader()
Catch ex As OdbcException
MsgBox(ex.Message)
End Try
Answer : Pervasive error when Using date add function and using result in query
Exactly. The text "5/26/2008" is being interpretted by the SQL parser as the numeric expression 5 / 26 / 2008, which is approximately 0.00009577. It is then comparing a FLOAT with a DATE, resulting in your error.
One solution is to use the explicit DATE format, such as: {d '2008-05-26'} instead. You could also try to use the CONVERT function, but this will still require that you format the date string correctly. Be sure to include the single quotes, too!
Random Solutions
Microsoft, Windows , XP SP2, Task Scheduler - Open Browser without Window
Mount NTFS valume on RHEL WS 4
Unknown passwords assigned to WinXP Home user accounts & can't reset w/ some good tools
Internet Explorer will not automatically open Citrix .ICA files for the web client
Is there a way to find out all keywords ranked on Google for your site?
HP, Pavilion, DV9548ca, XP downgrade; video drivers won't install
Import text file into Access
Google search history
Pear Mime email - HTML problem.
RDP drops connections, but Citrix Doesn't