PDA

View Full Version : convertire una stringa tutta in minuscolo....ASP


SteR9
24-05-2003, 19:58
ho la necessità di convertira una stringa contenuta in una variabile che devo utilizzare in un if in minuscolo...esiste una funzione che mi faccia ciò??
grazie

cionci
24-05-2003, 21:28
C'è UCase(str)...

SteR9
24-05-2003, 22:40
già che ci sono utilizzo questo 3d per chiedere un'altra cosa...
vorrei sapere come faccio a cercare i dati dentro a un dbase inserendo solo una parte del nome...
io vado a cercare i dati in questa maniera

do while Not objrecordset.EOF
if UCase(objRecordset.Fields("nome")) = UCase(stringa_da_cercare) then response.write(objRecordset.Fields("nome"))
end if
objrecordset.MoveNext
loop

se io volessi cercare solo una parte del nome come dovrei fare??
grazie..

matpez
25-05-2003, 02:31
Originally posted by "SteR9"

ho la necessità di convertira una stringa contenuta in una variabile che devo utilizzare in un if in minuscolo...esiste una funzione che mi faccia ciò??
grazie

LCase(Stringa), cioci ha letto male, UCase è per le maiuscole

matpez
25-05-2003, 02:34
Originally posted by "SteR9"

già che ci sono utilizzo questo 3d per chiedere un'altra cosa...
vorrei sapere come faccio a cercare i dati dentro a un dbase inserendo solo una parte del nome...
io vado a cercare i dati in questa maniera

do while Not objrecordset.EOF
if UCase(objRecordset.Fields("nome")) = UCase(stringa_da_cercare) then response.write(objRecordset.Fields("nome"))
end if
objrecordset.MoveNext
loop

se io volessi cercare solo una parte del nome come dovrei fare??
grazie..

Usa la funziona InStr("stringa","stringa da cercare") in questa maniera se torna un risultato >0 la stringa che cerchi esiste (il numero indica la il primo carattere di partenza all'interno della stringa originale) se torna 0 non hai trovato nulla!!

Prova e poi fammi sapere :)

matpez
25-05-2003, 02:35
Originally posted by "matpez"



LCase(Stringa), cioci ha letto male....

Scusa è già la seconda volta che sbaglio a scrivere il tuo nick, perdonami :(

SteR9
25-05-2003, 08:34
Originally posted by "matpez"



Usa la funziona InStr("stringa","stringa da cercare") in questa maniera se torna un risultato >0 la stringa che cerchi esiste (il numero indica la il primo carattere di partenza all'interno della stringa originale) se torna 0 non hai trovato nulla!!

Prova e poi fammi sapere :)
ho provato...ma se faccio così e inserisco solo una parte del nome non mi trova niente :(( ...nn esiste un altro modo??

cionci
25-05-2003, 09:29
Originally posted by "matpez"


Scusa è già la seconda volta che sbaglio a scrivere il tuo nick, perdonami :(
Per questa volta ti perdono :p
Sì...avevo letto male :)
Comunque non conviene fare una ricerca direttamente sui campi...conviene specificare la ricerca nella query che esegui...

SteR9
25-05-2003, 09:54
Originally posted by "cionci"


Per questa volta ti perdono :p
Sì...avevo letto male :)
Comunque non conviene fare una ricerca direttamente sui campi...conviene specificare la ricerca nella query che esegui...
ho provato in questa maniera
Set objRecordset = objConnessione.Execute("SELECT * FROM rubrica WHERE Nome LIKE '%"& stringa_da_cercare &"%' ") se inserisco tutto il noem me lo trova...ma se ne inserisco n pezzo non me lo trova...come mai??

cionci
25-05-2003, 10:13
Prova a stampare la stringa SQL a video... Poi la prendi e la metti in Access (se usi Access)...almeno puoi verificare meglio eventuali problemi...

matpez
25-05-2003, 11:27
La sintassi sembra giusta, prova come dice cionci che è sempre una soluzione ottima, ricorda solo che in access non esiste il % ma esiste il *

Poi access non è key sensitive, per cui se tu prendi una srtinga maiuscola o minuscola a lui nn fa differenza!!

cionci
25-05-2003, 12:02
Mi sembra che anche in Access ci sia il %...anzi usando ADO o ODBC funziona solo il %...

SteR9
25-05-2003, 12:32
ho provato a stampare la stringa e la stampa giusta...ho provato anche a sostituire il % con l'* ma non va lo stesso... :cry: :cry:

cionci
25-05-2003, 14:34
Ma copiando la stringa stampata in Access ti trova tutti i record che vuoi ?

SteR9
25-05-2003, 15:24
Originally posted by "cionci"

Ma copiando la stringa stampata in Access ti trova tutti i record che vuoi ?
mmm non capisco cosa intendi...io la stringa l'ho stampata a video con un response.write...cosa devo fare??

matpez
25-05-2003, 15:51
La prendi, apri access, crei una query vuota, la incolli dentro, e la lanci!!

E vedi cosa ti dice, se ti da errori vari devi vedere, al massimo appunto metti * al posti di %

SteR9
26-05-2003, 14:36
Originally posted by "matpez"

La prendi, apri access, crei una query vuota, la incolli dentro, e la lanci!!


E vedi cosa ti dice, se ti da errori vari devi vedere, al massimo appunto metti * al posti di %
mmm potresti spiegarti meglio per favore??non ne capisco molto di sql...
io ho provato a inserirlo così objConnessione.Execute("INSERT INTO rubrica (nome) VALUES('"&stringa_da_cercare &"')") e me lo inserisce tranquillamente...
grazie!

maxithron
26-05-2003, 14:48
scusate m'intrometto(sperando di non fare una figuraccia!)

Intendono che: la SQL che hai scritto, la devi copiare ed incollare(come un normale copia-incolla)in una query vuota di access, nel senso che:

Dal menu dove crei le maschere e le tabelle, c'è anche la voce 'query'

Scegli 'nuova' e dentro incolli il contenuto della tua SQL.

Per quanto riguarda il * ed il %, se nn ricordo male in acces fino al jet 3.x, si riconosceva solo *. Con il motore jet 4, con ADO ed ODBC, anche il % può essere utilizzato.

Se ho fatto una figuraccia....meglio così, almeno oggi mi sono tolto il pensiero....

SteR9
26-05-2003, 15:01
Originally posted by "maxithron"

scusate m'intrometto(sperando di non fare una figuraccia!)

Intendono che: la SQL che hai scritto, la devi copiare ed incollare(come un normale copia-incolla)in una query vuota di access, nel senso che:

Dal menu dove crei le maschere e le tabelle, c'è anche la voce 'query'

Scegli 'nuova' e dentro incolli il contenuto della tua SQL.

Per quanto riguarda il * ed il %, se nn ricordo male in acces fino al jet 3.x, si riconosceva solo *. Con il motore jet 4, con ADO ed ODBC, anche il % può essere utilizzato.

Se ho fatto una figuraccia....meglio così, almeno oggi mi sono tolto il pensiero....
ho fatto come hai detto tu e mi inserisce tutto senza alcun errore...
però nn capisco perchè non funziona dalll'asp :confused:

cionci
26-05-2003, 15:22
Si, ma quando lanci la query ottieni il risultato giusto da access ?

maxithron
26-05-2003, 15:26
la connessione che effettui al db è tipo questa?:

Dim cn
Set cn = Server.CreateObject("ADODB.Connection")
cn.Open "driver={Microsoft Access Driver(*.mdb)};dbq="&_
Server.MapPath("databasename.mdb")

maxithron
26-05-2003, 15:30
prova a dare anke uno shuardo qui:

http://www.aspcode.it/tutorials/tutorials.asp?action=show_tut&idx=1&lesson=11

cionci
26-05-2003, 15:32
Originally posted by "maxithron"

cn.Open "driver={Microsoft Access Driver(*.mdb)};dbq="&_
Server.MapPath("databasename.mdb")
Non è il massimo dell'eficienza aprire un DB Access con il driver ODBC...meglio OLEDB...

maxithron
26-05-2003, 15:44
Originally posted by "cionci"


Non è il massimo dell'eficienza aprire un DB Access con il driver ODBC...meglio OLEDB...

Hai perfettamente ragione :)