Pagina 1 di 4 1 2 3 ... ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 39

Discussione: estrarre da stringa

  1. #1

    estrarre da stringa

    buona sera!

    ho una stringa che contiene i valori come per esempio: 2, 3, 4, 5, 6, 7,

    da questa stringa voglio fare in modo che i numeri ed associati ad una variabile e fare poi una query che mi faccia il controllo se esistono singolarmente i numeri estratti.

    Ovvero:

    select * from utenti where id="&destinatari

    e mi estragga tutti i nominativi aventi il corrispettivo id racchiuso in quella stringa.

    Come posso fare?

  2. #2
    Amministratore L'avatar di Vincent.Zeno
    Registrato dal
    May 2003
    residenza
    Emilia-Romagna (tortellini und cappelletti land!)
    Messaggi
    20,802
    codice:
      select * from utenti where id IN ("&destinatari&")

  3. #3
    MITICO FUNZIONA!!!

    ma un piccolo dubbio... il 10 lo considererà 10 o anche 1?

  4. #4
    Amministratore L'avatar di Vincent.Zeno
    Registrato dal
    May 2003
    residenza
    Emilia-Romagna (tortellini und cappelletti land!)
    Messaggi
    20,802
    ma come scrivi? faccio fatica a capirti...
    perché dovrebbe considerare il 10 ANCHE 1?
    e magari anche 0 così li prendiamo su tutti e passiamo tre valori in uno

  5. #5
    ehehehhe no scusami mi spiego meglio.

    Supponiamo una serie:

    1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20 ...

    ed io effettuo una query che mi cerca il 2 può succedere che estragga:

    2, 12, 20

    ?? io vorrei essere sicuro che se scrivo una query su questa stringa

    sql1="select * from utenti where id IN ("&2&")"

    mi estragga solo 2 !!!

  6. #6
    Amministratore L'avatar di Vincent.Zeno
    Registrato dal
    May 2003
    residenza
    Emilia-Romagna (tortellini und cappelletti land!)
    Messaggi
    20,802
    secondo te la virgola a che serve?
    decorazione barocca?

  7. #7

  8. #8
    ... ma perchè poi se faccio:

    codice:
    identity=Cstr(idutente)
    Dim conn
    Set conn=Server.CreateObject("ADODB.Connection")
    conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & server.MapPath("mdb-databases/prospect.mdb")
    sql="select * from messaggistica_destinatari where iddestinatari IN ('"&identity&"')"
    Set rec = Server.CreateObject("ADODB.Recordset")
    Set Rec=Conn.Execute(SQL)
    e nella tabella in questione ho:

    iddestinatari
    3, 4, 7, 11, 13
    2, 3, 4, 5, 6, 7
    2, 3, 4, 5, 6, 7
    1, 3, 4, 5, 6, 7
    1, 3, 4, 5, 6, 7
    1, 3, 4, 5, 6, 7


    dove identity = 1 non ottengo nulla?

  9. #9
    aspetta, hai esposto il problema in maniera così cervellotica che si capiva esattamente il contrario! devi usare la LIKE, non la IN


  10. #10


    anche utilizzando like non mi trova i record.

    record 1: 3, 4, 7, 11, 13
    record 2: 2, 3, 4, 5, 6, 7
    record 3: 2, 3, 4, 5, 6, 7
    record 4: 1, 3, 4, 5, 6, 7
    record 5: 1, 3, 4, 5, 6, 7
    record 6: 1, 3, 4, 5, 6, 7

    questa è la query che uso:

    codice:
    select * from messaggistica_destinatari where iddestinatari LIKE ('1')
    dove 1 è la variabile iddestinatario. che da numerica ho settato in testo Cstr

    la cosa peggiore è che non mi trova nulla ma non va in errore

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.