Vb.NET 2005, SQL Server 2005 creazione query da codice con operatore l...

mercoledì 07 marzo 2007 - 18.09

theMadHatter Profilo | Newbie

Dunque! Il mio problema è legato al passaggio del valore del parametro ad un SqlCommand che utilizza la clausola like!

Io vorrei creare p.es. una query di questo tipo da codice!

SELECT id, Titolo, Durata, Genere1, Genere2, Scheda, Contenitore, Pagina, Posizione
FROM Proprieta
WHERE (Titolo LIKE '%K%')

Questa scritta sopra funziona e fa quel che deve fare!

Allora procedo così....Ho provato vari modi per il passaggio del parametro ma non risponde mai bene! Ho difficolta a creare una stringa con un singolo apice

Dim sqlComm As New System.Data.SqlClient.SqlCommand

Dim command as new String("Select * from Proprieta where Titolo like @Titolo")

sqlComm.Parameters.Add("@Titolo", SqlDbType.Char, 30)

sqlComm.Parameters("@Titolo").Value = "" <=== Qua accetto consigli!


Grazie in anticipo!

Alessandro!








There are only 10 persons in the world, who understand binary language and who don't!

Cteniza Profilo | Guru

qlComm.Parameters("@Titolo").Value = "%" & latuavariabile & "%"

theMadHatter Profilo | Newbie

No...

In effetti in questo modo non funziona!

Mancano i singoli apici!

Ieri poi poco dopo son riuscito a farlo!

sqlComm.CommandText = Replace(sqlComm.CommandText, "@Titolo", "'%" & Me.TxtTitoloC.Text & "%'")

'%variabile%'.... Con il metodo replace posso usare i singoli apici che non vengono presi finalmente come commento VB!


Con i doppi apici la ricerca risultante è sbagliata!

Grazie cmq!

Alessandro
There are only 10 persons in the world, who understand binary language and who don't!

Walimay Profilo | Newbie

SELECT id, Titolo, Durata, Genere1, Genere2, Scheda, Contenitore, Pagina, Posizione
FROM Proprieta
WHERE (Titolo LIKE '%K%')

la puoi scrivere cosi:

sqlcmd = "SELECT id, Titolo, Durata, Genere1, Genere2, Scheda, Contenitore, Pagina, Posizione " & _
"FROM Proprieta WHERE (Titolo LIKE '%" & LaTuaVariabile & "%')"

in questo modo la stringa viene composta correttamente.

"da manuale" bisognerebbe usare sqlparameter, uno bravo rabbrividisce a vedere certe cose, pero' funzionano...

:D

Waly

Cteniza Profilo | Guru

>No...
>In effetti in questo modo non funziona!
>Mancano i singoli apici!

Le mie informazioni erano corrette, ho fatto un progettino di prova a dimostrazione
http://www.4shared.com/file/11909035/3a673051/EsempioUsoLikeVb.html

Walimay Profilo | Newbie


dim x as string = "abc"

"'%" & x & "%')"

genera: '%abc%'

Walimay
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2023
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5