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


SqlCommand.SqlParameters

Postades av 2005-01-17 16:40:44 - Rickard Robin, i forum asp.net generellt, Tråden har 6 Kommentarer och lästs av 359 personer

Hej!

Kan inte Sqlparameter användas även för kolumn-namn ? Isånafall varför inte ?
När jag kör detta får jag INGEN förändring i databasen men ej heller något fel
genereras.
ex:
<code>
Dim sSql As String = "UPDATE tblProjNotes SET @kolumn = @varde WHERE intProjNoteID = @theid"
Dim sqlcmd As SqlClient.SqlCommand = New SqlClient.SqlCommand("", loSqlConn)
sqlcmd.CommandText = sSql
sqlcmd.Parameters.Add("@kolumn", "MinKolumn")
sqlcmd.Parameters.Add("@varde", "Mittvärde")
sqlcmd.Parameters.Add("@theid", 1)
</code>

Däremot funkar det bra om jag bygger en sqlsträng och exekverar på samma sätt.

*Klia sig i hårbotten* Någon som vet ?

Ps: om en vecka får jag GLASÖGON! (Känner mig lite smartare)
Ps2: Hittade inget ADO.NET forum varför jag postar här.


Svara

Sv: SqlCommand.SqlParameters

Postades av 2005-01-17 18:22:50 - Mikael Wedham

Nej det kan du inte. SQL stödjer inte denna typ av parametrar = "by-design"
Du har rätt tillvägagångssätt redan, generera strängen dynamiskt och kör den.

/micke


Svara

Sv:SqlCommand.SqlParameters

Postades av 2005-01-18 09:02:04 - Rickard Robin

Men varför får jag inget fel vid exekvering?
Ingen som vet varför man inte kan göra såhär? Antar att man ej heller kan göra så i stored procedure, inte sant ?


Svara

Sv: SqlCommand.SqlParameters

Postades av 2005-01-18 12:36:10 - Mikael Wedham

Man kan inte göra det för att SQL Server stödjer inte det. Räcker inte det?

Har du kollat på värdet på din variabel @varde?

Har du kollat värdet på din variabel @kolumn?

Å-skit var det samma värde!!! Syntaxen du kör tilldelar variabeln @kolumn värdet av @varde.
Därav inget fel...

Bygg strängen INNAN du skickar den till SQL, så funkar det, precis som du skrev innan!

/micke


Svara

Sv: SqlCommand.SqlParameters

Postades av 2005-01-18 14:00:08 - Andreas Håkansson

Du kan inte göra så, för att det inte stöds. Och anledningen att du inte får något fel är att sätta t.ex "1 = 1" är en helt giltig syntax i SQL.


Svara

Sv:SqlCommand.SqlParameters

Postades av 2005-01-18 15:39:45 - Rickard Robin

Tack för svaret, dock tycker jag det är lustigt att @kolumn ersattes eller glömdes bort utan att man fick ett fel framkallat.

Och eftersom man inte längre använder parameter, så måste man ju manuellt skydda mot sql injection.


Svara

Sv: SqlCommand.SqlParameters

Postades av 2005-01-18 16:23:14 - Andreas Håkansson

Rickard,

Det är nog så att det är din förståelse för T-SQL syntaxen som är bristfällig och är anledningen till att du inte förstår varför du inte får ett fel. Och det finns ingen anledning att sluta använda Parameter bara för det?

Du bygger denna strängen dynamiskt

Dim sSql As String = "UPDATE tblProjNotes SET @kolumn = @varde WHERE intProjNoteID = @theid"


så att du får t.ex en som ser ut som
Dim sSql As String = "UPDATE tblProjNotes SET kolmnnamn= @varde WHERE intProjNoteID = @theid"


Sen kopplar du denna till ditt <b>SqlCommand</b> objekt och fyller i dina parametrar och på så sätt får du skydd. Dock är det en annan sak om du skall låta användaren fylla i namnet på kolumnen också, det får du själv "skydda".


Svara

Nyligen

  • 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
  • 14:25 Tips på verktyg för att skapa QR-k
  • 14:23 Tips på verktyg för att skapa QR-k
  • 20:52 Fungerer innskuddsbonuser egentlig

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 602
27 953
271 705
602
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