Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
App. WinForms / WPF .NET
Carattere di percentuale in query sql, AIUTO
venerdì 27 giugno 2008 - 23.16
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
basicdany
Profilo
| Expert
590
messaggi | Data Invio:
ven 27 giu 2008 - 23:16
ciao a tutti, volevo chiedervi: in una query che eseguo con vb.net 2003 su un db access 2003 di questo tipo:
SELECT * FROM tabella WHERE percentuale=bnl 1%
IL PROBLEMA CHE IO DEVO PRENDERE TUTTI CAMPI CHE HANNO COME CAMPO =bnl 1%
sql però esegue la query in un altro modo preleva tutti i campi che anno come inzio campo "bnl 1"
questo perche intende la percentuale come carattere per prendere tutti i calore...non so se ho reso chiaro
il problema.
grazie a tutti.
Cteniza
Profilo
| Guru
1.509
messaggi | Data Invio:
sab 28 giu 2008 - 14:56
"Prova a mettere il nome con [] es: [% iva], se ancora non funziona prova con "% iva" (doppio apice = chr34)"
Beh avevo quanto meno letto male la domanda.
Credo che per cercare un apice in un campo di tipo testo sia necessario raddoppiare il %, se si tratta di un campo intero o decimale la % fa parte della formattazione e non va messa.
DomA
Profilo
| Expert
537
messaggi | Data Invio:
sab 28 giu 2008 - 23:21
sel il capo percentuale è un campo di testo allora puoi dichiarati una variabile per eseguire la ricerca Es
Dim TestoRic as string = me.txtRicerca.text
poi esegui la query in questo modo:
"SELECT * FROM tabella WHERE percentuale = '" & TestoRic & "'"
così se nella textbox di ricerca (ndr txtRicerca) inserisci il testo bnl 1% la ricerca ristetuirà i record che contengono nel campo percentuale bnl 1%; txtRicerca = bnl 2% la ricerca ristetuirà i record che contengono nel campo percentuale bnl 2% e così via.
Buon lavoro
Domenico Mancina
basicdany
Profilo
| Expert
590
messaggi | Data Invio:
lun 30 giu 2008 - 07:10
ciao, ho provato a fa re come mi hai spiegato, ma i record che seleziona,
sono uguali si per bnl 1% che per bnl 1,75%
quindi siginifica che il campo percentuale loc considera come se dovesse prendere tutti i caratteri dopo la percentuale.
spero possa aiutarmi.
grazie
Cteniza
Profilo
| Guru
1.509
messaggi | Data Invio:
lun 30 giu 2008 - 07:26
Forse e meglio che mostri il vero codice che utilizzi che non funziona e non il falso codice "percentuale = bnl 1%" che hai mostrato.
E' impossibile che utilizzando l'operatore = anche in presenza di % che il % sia considerato carattere jolly ed estragga cose diverse da "bnl 1%".
basicdany
Profilo
| Expert
590
messaggi | Data Invio:
lun 30 giu 2008 - 09:24
ciao, grazie per l'interesse:
dim appo as string= txtbanca.txt
sql="SELECE * FROM Archivio WHERE banca=""" & appo & """
oleAdapter.SelectCommand = New OleDbCommand(Sql, cn)
ecc.ecc.
grazie
Cteniza
Profilo
| Guru
1.509
messaggi | Data Invio:
lun 30 giu 2008 - 09:35
No, è certo che se la tua banca con una stringa del genere (a parte che è sbagliata):
sql="SELECE * FROM Archivio WHERE banca=""" & appo & """
In presenza di
archivio.banca
bnl 2%
bnl 1%
bnl 1,1%
bnl 1,71%
Utilizzando = come operatore come tu hai usato è impossibile che escano insieme
bnl 1%
bnl 1,1%
bnl 1,71%
Questo anche se avessi una combinazione:
bnl %1
bnl %1,1
bnl %1,71
Cercando con bnl % non uscirebbe niente
Cercando con bnl 1% uscirebbe solo la prima
In definitiva .. fai molto prima a fare delle prove sul tuo sql management che presentare "falsificato" il tuo problema qui.
Se vuoi che ti si aiuti devi presentare il tuo problema in modo tale che chiunque lo possa ripetere e provare.
In altre parole se si introduce una query sql come quella che hai presentato non otterrai mai il risultato che lamenti.
basicdany
Profilo
| Expert
590
messaggi | Data Invio:
lun 30 giu 2008 - 12:40
ciao, ti spiego meglio il problema, se eseguo la query con banca=bnl 1% o banca=bnl 1,75% mi carica i stessi record, ecco perche ti ho presentato il problema sulla percentuale, perchè so che il campo percentuale, prende tutti i caratteri? o mi sto sbagliando?
la query e questa:
Sql = "SELECT * FROM Pratica WHERE (Data > #" & AppoDataDa & "# AND Data < #" & AppoDataA & "# OR Data = #" & AppoDataDa & "# OR Data = #" & AppoDataA & "#) AND Banca LIKE """ & cmbBanca.Text & """ ORDER BY Data"
cn = New OleDbConnection(ConnString)
cn.Open()
Dim oleAdapter As New OleDbDataAdapter
oleAdapter.SelectCommand = New OleDbCommand(Sql, cn)
Dim ds As New DatasetStampaPratica
ds.Clear()
oleAdapter.Fill(ds, "Pratica")
Dim rep As New CrystalDecisions.CrystalReports.Engine.ReportDocument
rep.Load(Application.StartupPath & "\RtpBanche.rpt")
rep.SetDataSource(ds)
CRV.ReportSource = rep
cn.Close()
Spero di essermi spiegato,
grazie aspetto gentile aiuto
Cteniza
Profilo
| Guru
1.509
messaggi | Data Invio:
lun 30 giu 2008 - 13:01
Su access il carattere jolly e * e non %
basicdany
Profilo
| Expert
590
messaggi | Data Invio:
lun 30 giu 2008 - 15:11
Come risolvo il problema?
ciao
basicdany
Profilo
| Expert
590
messaggi | Data Invio:
mar 1 lug 2008 - 09:16
ciao, e quindi come risolvo il problema? sono certo che il campo % mi crea questo problema prende tutti i record
che hanno come inizio campo il testo prima del simbolo di percentuale.
Insomma campo="bnl 1"% prende tutti record che hanno come inizio testo "bnl 1" a ME SERVER CHE DEVE
PRENDERE I RECORD CHE HANNO COME CAMPO "bnl 1%"
Puoi aiutarmi, la soluzione e rendere la percentuale una semplice carattere e non un carattere speciale!
grazie
DomA
Profilo
| Expert
537
messaggi | Data Invio:
mar 1 lug 2008 - 15:18
Sei sicuro di aver inserito nella select l'operatore = e non LIKE?
quel che dici mi sembra piuttosto strano
Domenico Mancina
Torna su
Stanze Forum
Elenco Threads
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 !