03. november 2005 - 11:51Der er
21 kommentarer og 1 løsning
Komma sammenligning i SQL statement fejler
jeg har denne sql som forsøger at sammenligne 7,44 med 7,44 men det vil den ikke. er der nogen måde jeg kan konvertere tallene så jeg kan sammeligne dem:
"SELECT * FROM tblCurrency WHERE Rate = " & (rsShipsInsuranceValue.Fields.Item("Currency").Value) & ""
FEJL: SELECT * FROM tblCurrency WHERE Rate = 7,44 Microsoft OLE DB Provider for ODBC Drivers error '80040e14'
[Microsoft][ODBC SQL Server Driver][SQL Server]Line 1: Incorrect syntax near ','.
Mød TrackMan og Veo på Computerworld Cloud & AI Festival og hør, hvordan tech ændrer måden, vi træner og udvikler talent – fra skolebold til The Masters.
værdien i Rate er 7,44 og værdien i (rsShipsInsuranceValue.Fields.Item("Currency").Value) er 7,44
så replace((rsShipsInsuranceValue.Fields.Item("Currency").Value),",",".") virker ift at udskifte komma med punktum men når værdien i Rate er 7,44 aner jeg ikke hvad man så kan gøre
1. Værdien i feltet Rate er 7,44 2. Værdien i feltet (rsShipsInsuranceValue.Fields.Item("Currency").Value) er 7,44
men når jeg laver følgende SQL melder den fejl: "SELECT * FROM tblCurrency WHERE Rate = " & (rsShipsInsuranceValue.Fields.Item("Currency").Value) & ""
Fejl med SQL udskrift: SELECT * FROM tblCurrency WHERE Rate = 7,44 Microsoft OLE DB Provider for ODBC Drivers error '80040e14' [Microsoft][ODBC SQL Server Driver][SQL Server]Line 1: Incorrect syntax near ','. /hull/include/ships_insurancevalue.asp, line 419
denne burde være rigtig:SELECT * FROM tblCurrency WHERE Rate = 7,44 fordi Rate i databasen er decimal datatype og værdien i feltet Rate er 7,44 med komma er der nogen måde kan man formattere Rate på fra databasen ala:
SELECT * FROM tblCurrency WHERE replace(Rate,",",".") = " & replace((rsShipsInsuranceValue.Fields.Item("Currency").Value),".",",")
SELECT * FROM tblCurrency WHERE Rate = 7.44 Rate udskrives: 7,44
SQL: <% Session.LCID=1030 If (rsShipsInsuranceValue.Fields.Item("Currency").Value)<>"" Then Dim rsCurrencyShow Dim rsCurrencyShow_numRows
Set rsCurrencyShow = Server.CreateObject("ADODB.Recordset") rsCurrencyShow.ActiveConnection = MM_claims_conn_STRING rsCurrencyShow.Source = "SELECT * FROM tblCurrency WHERE Rate = " & replace((rsShipsInsuranceValue.Fields.Item("Currency").Value),",",".") & "" response.Write("SELECT * FROM tblCurrency WHERE Rate = " & replace((rsShipsInsuranceValue.Fields.Item("Currency").Value),",",".")) rsCurrencyShow.CursorType = 0 rsCurrencyShow.CursorLocation = 2 rsCurrencyShow.LockType = 1 rsCurrencyShow.Open() response.Write("<br>Rate udskrives: " & (rsCurrencyShow.Fields.Item("Rate").Value))
rsCurrencyShow_numRows = 0 If NOT rsCurrencyShow.EOF AND NOT rsCurrencyShow.BOF Then showcurrency = (rsCurrencyShow.Fields.Item("ISO").Value) Else showcurrency = "None found" End if showcurrency = "None found" End if %>
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.