Problema con carattere "#"

martedì 09 ottobre 2012 - 16.11
Tag Elenco Tags  SQL Server 2005

autosblindo Profilo | Newbie

Ciao, sono inchiodato con un problema apparentemente stupido.

Premesso che uso SQL 2005, se lancio questa query:
SELECT * FROM TABELLA WHERE CodiceArticolo = 'CCC#001'
tutto funziona correttamente.

Se invece inserisco il valore in una variabile e lancio queste istruzioni:

DECLARE @CodArt varchar; SET @CodArt = 'CCC#001'; SELECT * FROM TABELLA WHERE CodiceArticolo = @CodArt

Non mi restituisce nessun record.

Grazie, ciao.

alx_81 Profilo | Guru

>Ciao, sono inchiodato con un problema apparentemente stupido.
Ciao

>DECLARE @CodArt varchar;
>Non mi restituisce nessun record.
perchè hai dichiarato VARCHAR senza dare dimensione, e il default è 1
se fai:

SELECT @CodArt

vedrai che ottieni 'C'

>Grazie, ciao.
di nulla!
--
Alessandro Alpi | SQL Server MVP
MCP|MCITP|MCTS|MCT

http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.microsoft.com/profiles/Alessandro.Alpi

autosblindo Profilo | Newbie

Grazie alx_81 per la celere e corretta risposta.
Purtroppo però non mi aiuta, ma la colpa è mia...sono così convinto che il problema sia il carattere # che sono andato dritto per la mia strada, sbagliando.
Il tutto è nato da una query parametrica presente in un piccolo programma vb.net 2010. Ora so che non siamo nel forum appropriato, pertanto elimina questo messaggio se lo ritieni opportuno.
La parte di codice che mi da problemi è la seguente:
SQL = "SELECT * FROM TABELLA " _ & " WHERE CodArt = @CodArt" Comando.Parameters.Clear() Comando.Parameters.Add("@CodArt", SqlDbType.VarChar) Comando.Parameters("@CodArt").Value = CodArt 'CodArt vale CCC#001 Comando.Connection = ConnApp Comando.CommandText = SQL drApp = Comando.ExecuteReader

Da qui è nato il problema. Ho provato ad eseguire direttamente in sql management la quety e mi sono arenato pensando che il problema fosse il carattere #. Ora non so se il problema in vb sia sia veramente il carattere # o meno (non mi sembra si possa specificare una dimensione in SqlDbType.VarChar), ad ogni modo mi hai dato un ulteriore spunto per fare una ricerca su google e fare altre prove, visto che il problema non è sql.

Se ti viene in mente qualcosa... doppia birra offerta.

Ciao e grazie ancora.

-----------------------------
Premesso che ho controllato e posso definire una dimensione quando vado ad aggiungere un parametro varchar, il problema non era nè questo nè il carattere # ma uno stupidissimo errore in cui ho invertito cosa fare quando il datareader conteneva dati o meno.....
no comment....mi vergono di me stesso....

Grazie cmq alx_81 per il tempo che mi hai dedicato, ciao.

Feroxis Profilo | Junior Member

Se provi sul database a far diventare la colonna nvarchar invece che solo varchar??
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-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5