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


Uppdatera dbfält med en sträng innehållande ""

Postades av 2004-09-07 08:56:31 - Anna Franzén, i forum sql-server/msde, Tråden har 11 Kommentarer och lästs av 864 personer

Hej!
Hur gör man om man har en sträng innehållande " i en sqlsats?
Ex:
strsql = "UPDATE MyTable SET MyField = '" + cstr(strVar) + "'"

där strVar alltså innehåller onda tecken (som dock ska vara med).
Har för mig att man ska kunna sätta ett escapetecken framför för att detta tecken inte ska uppfattas som avslut på strängen. Dock kommer jag inte ihåg vilket escapetecken det var och inte heller precis hur man gjorde.

Vet någon vad jag menar eller finns det någon annan väg runt?

Tack för hjälpen!

Mvh, Anna


Svara

Sv: Uppdatera dbfält med en sträng innehållande ""

Postades av 2004-09-07 09:57:32 - Stefan Alfbo

Hej

Citationstecken borde inte skapa några problem för dig i exemplet ovan. Där emot så kan apostrofer skapa mer problem. När det gäller apostrofer så kan du dubbla dom, dvs skriva '' (notera att det inte är ett citationstecken) så ska det inte uppstå några problem.

För att att undvika sådana här problem så rekommenderar jag att du använder dig av stored procedures istället, finns många andra fördelar också.

Med vänliga hälsningar
/Stefan


Svara

Sv: Uppdatera dbfält med en sträng innehållande ""

Postades av 2004-09-07 10:47:14 - Anna Franzén

Hej!
citationstecken skapar ju visst problem då de ses som slut på strängen, vilket de inte ska vara.
T.ex. om man vill ange hela koden för en URL. T.ex.
<a href="http:\\www.pellesoft.se\">

Jag får i alla fall felmeddelande på detta.

Mvh, Anna


Svara

Sv: Uppdatera dbfält med en sträng innehållande ""

Postades av 2004-09-07 10:57:39 - Stefan Alfbo

Hej

Hmm... det låter lite märkligt. Jag provade nämligen exemplet du har givit och det skapade inga problem hos mig. Vad är det för felmeddelande du får exakt? Och vad för databas är det du använder dig av?

Med vänliga hälsningar
/Stefan


Svara

Sv: Uppdatera dbfält med en sträng innehållande ""

Postades av 2004-09-07 11:35:56 - Anna Franzén

Hej!
Jag kanske har fel, tog bara förgivet när det bryter mitt i strängen den ska sätta in och börjar "prata" om type double:

"[InvalidCastException: Cast from string "Update MyTable Set Myfield = '<img src=" to type 'Double' is not valid.]"

("<img src... osv är alltså värdet av varibeln jag använder i sqlsatsen.)

Först säger den "Input string was not in a correct format".
Sen om jag läser längre ned i Stack trace så står det första meddelandet.

Var har jag klantat till det?

Skickar gärna mer kod och felmeddelanden om det behövs!

Mvh,

Anna


Svara

Sv: Uppdatera dbfält med en sträng innehållande ""

Postades av 2004-09-07 12:28:48 - Stefan Alfbo

Hej

Det ser ut som det skulle ha med hur du bygger upp din sträng. Någonstans slänger du in en datatyp av "Double" som skapar problemet.

Men det är lite svårt att peka på exakt vart problemet ligger, skulle behöva ser mer kod och lite mer av felmeddelandet för det.

Med vänliga hälsningar
/Stefan


Svara

Sv: Uppdatera dbfält med en sträng innehållande ""

Postades av 2004-09-07 13:21:20 - Pelle Johansson

Fältet du infogar data i tillåter inte att du skickar text. Du får ändra fältets typ till varchar, ntext eller liknande.


Svara

Sv: Uppdatera dbfält med en sträng innehållande ""

Postades av 2004-09-07 16:04:30 - Anna Franzén

Hej! Det är redan en varchar.

Mvh, Anna


Svara

Sv: Uppdatera dbfält med en sträng innehållande ""

Postades av 2004-09-07 16:10:26 - Anna Franzén

Protected PageId As Integer - Innehåller idt från den anropande sidan.


Dim strCode As String = CType(e.Item.Cells(2).FindControl("TextboxCode"), TextBox).Text
Dim strType As String = CType(e.Item.Cells(3).FindControl("TextboxType"), TextBox).Text

Dim dbconn As SqlClient.SqlConnection
Dim dbConnStr As String
Dim dr As SqlClient.SqlDataReader
Dim strsql As String

dbConnStr = "server=(local);user=MyUser;password=MyPW;Database=MyDb;"
dbconn = New SqlClient.SqlConnection(dbConnStr)
strsql = "Update MyTable Set MyField = '" + CStr(strCode) + "', MyField2 = '" + CStr(strType) + "' WHERE id = " + CInt(Id) + ""

Fältens typer
Id är en int
MyField är en varchar
MyFIeld2 är en nvarchar

Mvh, Anna


Svara

Sv: Uppdatera dbfält med en sträng innehållande ""

Postades av 2004-09-08 08:15:29 - Jenny Månsson

Om du sätter en brakpoint efter följande rad
<code> strsql = "Update MyTable Set MyField = '" + CStr(strCode) + "', MyField2 = '" + CStr(strType) + "' WHERE id = " + CInt(Id) + "" </code>
vad innehåller då exakt variabeln strsql?

Om du kopierar innehållet i variabeln och klistrar in i sql query analyzer och testar att köra. Vad får du då för felmeddelande där? (Man brukar få bättre felmeddelande i query analyzer....)


Svara

Sv: Uppdatera dbfält med en sträng innehållande ""

Postades av 2004-09-08 22:05:42 - Per Karlsson

Jag tycker att det verkar som att felet ligger i vb.net-koden och inte i sql-satsen. Testa att sätta en breakpoint på första raden i proceduren och stega igenom hela proceduren för att se vilken rad felet uppstår på. Man brukar inte kunna se en stack trace om felet ligger i sql-frågan.


Svara

Sv: Uppdatera dbfält med en sträng innehållande ""

Postades av 2004-09-09 08:15:09 - Jenny Månsson

Du har satt tråden som löst!

Var vänlig och skriv ett inlägg i denna tråd om vad felet var och hur du löste problemet. Detta medför att andra med samma sorts problem blir hjälpta när de söker efter inlägg....


Svara

Nyligen

  • 14:24 CBD regelbundet?
  • 14:23 CBD regelbundet?
  • 14:22 Har du märkt några verkliga fördel
  • 09:09 Vill du köpa medicinska tester?
  • 12:47 Vem beviljar assistansen – kommune
  • 14:17 Någon med erfarenhet av hemstädnin
  • 14:14 Bör man använda sig av en båtförme
  • 14:12 Finns det någon intressant hundblo

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 569 619
27 953
271 709
582
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