Avatar billede xfox Nybegynder
26. november 2003 - 21:41 Der er 13 kommentarer og
1 løsning

Variable med " omkring

Jeg har en variable, tal, som jeg skal have sat "er omkring. I VB gjorde jeg således :

" & tal & "

Det virker åbenbart ikke i .NET
Hvordan gør man så?
Avatar billede arne_v Ekspert
26. november 2003 - 22:29 #1
"""" & tal & """"

måske ?
Avatar billede odegaard Nybegynder
26. november 2003 - 22:35 #2
xfox: sådan gjorde du forhåbentligt ikke i VB. Det er præcis samme måde i VB som i VB.NET. Men hvis din variabel ikke er et tal, bør du explicit angive at den skal tolkes som en streng med tal.ToString()
Avatar billede xfox Nybegynder
26. november 2003 - 23:20 #3
Nu er mit eksempel også lidt dumt for det er en string-variable jeg roder med.
I VB når jeg f.eks. skulle have en variable ind i en SQL-sætning gjorde jeg sådan:

strSQL="SELECT * FROM mintabel WHERE navn = '" & varnavn & "'""

Det var for at få en variable ind i en string.

Nu står jeg og skal have en variable(strSQL) ind i en commandtext. Mit forslag var:

MyCommand.CommandText = (" & strSQL & ")

Det virkede ikke. Har også prøvet:

MyCommand.CommandText = (strSQL.ToString)

Virkede heller ikke. " tegnene mangle åbenbart...?
Avatar billede arne_v Ekspert
26. november 2003 - 23:24 #4
MyCommand.CommandText = (" & strSQL & ")

virker næppe som du ønsker det.

MyCommand.CommandText = ("""" & strSQL & """")

gør måske.

Men du skal vel ikke have de quotes omkring ??

Kan du ike bare bruge:

MyCommand.CommandText = "SELECT * FROM mintabel WHERE navn = '" & varnavn & "'"

?
Avatar billede odegaard Nybegynder
26. november 2003 - 23:26 #5
Jeg fatter heller ikke en brik. I dit eksempel på hvordan du gjorde i VB, har du også en " for meget til sidst, så det vil hverken virke i VB6 eller VB.NET
Avatar billede xfox Nybegynder
26. november 2003 - 23:39 #6
Uddybning, Jeg har et modul hvori der er en funktion der bliver kaldt fra en form.
Modul kode:

Public Function SQL(ByRef Code As String) As Boolean
        MyConnection.Open()
        MyCommand.CommandText = (" & strSQL & ") ####Problem####
        MyCommand.Connection = MyConnection
        MyCommand.ExecuteNonQuery()


        MyConnection.Close()
        MyCommand.Dispose()

    End Function

Form kode:

Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
        SQL("INSERT INTO Personer (navn) VALUES ('Andrew')")
    End Sub

Kan i se problemet? Rigtig at der var en skrivfejl i mit sidste eksempel.
("""" & strSQL & """") virker heller ikke.
Avatar billede xfox Nybegynder
26. november 2003 - 23:42 #7
Pis:
Code er selvfølgelig strSQL. Se bort fra det
Avatar billede xfox Nybegynder
26. november 2003 - 23:49 #8
Havde lavet variablenavnene om så de var nemmere at forstå for jer, men det smutte lige ved min copy-paste-ning.
Avatar billede odegaard Nybegynder
27. november 2003 - 10:03 #9
Hvorfor hulen vil du have gåseøjne omkring strSQL ??!? Det er jo allerede en string når du kalder SQL("INSERT INTO Personer (navn) VALUES ('Andrew')")
Med det (jeg tror) du vil, så bliver
INSERT INTO Personer (navn) VALUES ('Andrew')
til
"INSERT INTO Personer (navn) VALUES ('Andrew')"

Og det vil en database ikke forstå et hak af. Hverken i VB6 eller VB.NET. Der er ingen SQL'er der starter med gåseøjne!

Du skal blot skrive
MyCommand.CommandText = strSQL
Avatar billede odegaard Nybegynder
27. november 2003 - 10:04 #10
Er dit problem ikke nærmere at du ikke instantierer MyCommand ?
Avatar billede xfox Nybegynder
27. november 2003 - 11:30 #11
Kan godt se hvad du mener. Kigger på det når jeg kommer hjem(kl 1500).
Indtil da, ha en god dag, og tak for interessen.
Avatar billede xfox Nybegynder
27. november 2003 - 18:03 #12
Jeg ved ikke hvad der gik galt, men jeg må have byttet rundt på et eller andet.
Vigtigst af alt,Det virker nu på den måde du hele tiden har sagt.
Jeg undskylder meget og giver dig(odegaard) 50 points hvis du kommer med et svar.
Tak for hjælpen.
Avatar billede odegaard Nybegynder
27. november 2003 - 21:11 #13
svar
Avatar billede arne_v Ekspert
27. november 2003 - 21:16 #14
Måtte vi lige se løsningen ?
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester