Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


Kommatecken och SQL

Postades av 2009-06-07 00:06:38 - Christian Andersson, i forum vb.net, Tråden har 8 Kommentarer och lästs av 1408 personer

Jag har stött på problem när jag skall använda ett double-fält i en SQL-sträng. När jag kollar i "Locals" i VS så används punkt som decimalavskiljare men jag får felmeddelandet:
Syntaxfel (komma) i frågeuttrycket '(Ny> 57,711954885624 AND Ny< 58,3827983453696)'


strProvider = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="
strFileSource = Application.StartupPath & "\UFS.mdb"

oOleDbConn = New OleDbConnection
oOleDbConn.ConnectionString = strProvider & strFileSource
oOleDbConn.Open()
strSQL = "SELECT Notis_ID FROM Händelser WHERE Ny > " & dblMin & " AND Ny < " & dblMax & ""

oOleDbCmd = New OleDb.OleDbCommand(strSQL, oOleDbConn)
oOleDbDa = New OleDb.OleDbDataAdapter
oOleDbDa.SelectCommand = oOleDbCmd

odtDataTable = New DataTable
oOleDbDa.Fill(odtDataTable)

intAntalRader = odtDataTable.Rows.Count
osv...

Hoppas att någon kan hjälpa mig med detta


Svara

Sv: Kommatecken och SQL

Postades av 2009-06-07 01:49:50 - Andreas Hillqvist

Använd alltid parametrar:

        strProvider = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="
        strFileSource = Application.StartupPath & "\UFS.mdb"

        oOleDbConn = New OleDbConnection
        oOleDbConn.ConnectionString = strProvider & strFileSource
        oOleDbConn.Open()
        strSQL = "SELECT Notis_ID FROM Händelser WHERE Ny > ? AND Ny < ?"

        oOleDbCmd = New OleDb.OleDbCommand(strSQL, oOleDbConn)
        oOleDbCmd.Parameters.Add(new OleDbParameter("dblMin", dblMin));
        oOleDbCmd.Parameters.Add(new OleDbParameter("dblMax", dblMax));

        oOleDbDa = New OleDb.OleDbDataAdapter(oOleDbCmd)

        odtDataTable = New DataTable
        oOleDbDa.Fill(odtDataTable)

        intAntalRader = odtDataTable.Rows.Count
        osv...





Svara

Sv: Kommatecken och SQL

Postades av 2009-06-09 17:20:35 - Göran Gustafsson

Om du har deklarerat dblMin och dblMax som Double, så kommer satsen
strSQL = "SELECT Notis_ID FROM Händelser WHERE Ny > " & dblMin & " AND Ny < " & dblMax & ""
att ta deras värden och automatiskt konvertera till String och använda kommatecken (om det är det som gäller i de globala inställningarna).

I C# hade jag gjort så här:
CultureInfo MyCulture = new CultureInfo("en-US"); //to enable decimal POINT
strSQL = "SELECT Notis_ID FROM Händelser WHERE Ny > " & dblMin.ToString(MyCulture) & " AND Ny < " & dblMax.ToString(MyCulture) & ""

Då blir det en decimalpunkt i selectsträngen.


Svara

Sv: Kommatecken och SQL

Postades av 2009-06-10 00:08:57 - Martin Adrian

Jag har sagt det förut. Använd inte implicit konvertering till sträng, det blir fel förr eller senare.

Följande fungerar alltid oavsett nationella inställningar på server och klient

- Integer/Decimal
return value.ToString(CultureInfo.InvariantCulture)

- Double
return value.ToString("r", CultureInfo.InvariantCulture)

- Boolean
' MSAccess
If value Then
Return "True"
Else
Return "False"
End If

' SQLServer
If value Then
Return "1"
Else
Return "0"
End If

- DateTime
' MSAccess
If value.Year < 1970 Then
Return "#1/1/1970#" ' or throw
Else
Return value.ToString("\#M\/d\/yyyy\#",CultureInfo.InvariantCulture)
End If
' SQLServer
If value.Year < 1970 Then
Return "{ d '1970-01-01' }" ' or throw
Else
Return value.ToString("\{ \d \'yyyy\-MM\-dd\'\}", CultureInfo.InvariantCulture);
End If


Svara

Sv:Kommatecken och SQL

Postades av 2009-06-10 08:37:42 - Niklas Jansson

Och parametrar fungerar alltid och kräver inga konverteringar alls.


Svara

Sv:Kommatecken och SQL

Postades av 2009-06-10 13:58:11 - Håkan Borneland

... appropå "implicit konvertering", Martin.
Varför skriver du "Return "1" i ditt SQLServer exempel, när Return returnerar integer ?


Svara

Sv: Kommatecken och SQL

Postades av 2009-06-10 14:27:53 - Niklas Jansson

Eh?
Han returnerar ju de strängarna som de olika databaserna förväntas. I det fallet en 1:a för "true".


Svara

Sv:Kommatecken och SQL

Postades av 2009-06-10 15:43:10 - Håkan Borneland

..... ahhhh my bad... :-(
Visst du har rätt jag blandar ihop SQLServer överskriften med det som står under, som kod i SQLServer.
(vilket det inte är, när jag läser noggrannare)
[arbets/miljöskadad]


Svara

Nyligen

  • 08:28 Butiksskyltar: Hur upplever utbude
  • 22:31 Slappna av
  • 19:55 kick-off med fokus på hälsa?
  • 19:53 kick-off med fokus på hälsa?
  • 16:24 Föreslå en skönhetsklinik online
  • 16:23 Föreslå en skönhetsklinik online
  • 18:42 Hvor finder man håndlavede lamper
  • 18:41 Hvor finder man håndlavede lamper

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 570 764
27 959
271 761
676
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies