Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it L'avatar di gim
    Registrato dal
    Oct 2000
    Messaggi
    506

    Estrazione records ... strana

    Ciao a tutti; una vera stranezza. Una semplicissima query ed estrazione di tot record ma già utilizzata e perfettamente funzionante; nulla di particolare.
    Ho spostato la pagina su un altro ma:
    ogni record mi viene estratto due volte; cioè a video stampo:
    - id 1
    - id 1
    - id 2
    - id 2
    ecc.

    Mi basta rimettere la connessione con percorso fisico completo e mi stampa normalmente:
    - id 1
    - id 2
    ecc.
    Davvero strano: qualcuno ne sà qualcosa?
    Grazie

    PS
    non ho postato del codice poichè è davvero un sepmplicissimo script per estrarre tot records, con una semplice paginazione; attualmente, su un serve rfunziona e su un altro no (stessa pagina).

  2. #2
    Utente di HTML.it L'avatar di gim
    Registrato dal
    Oct 2000
    Messaggi
    506
    Aggiungo un dato forse importante (nell'altro db, dove la query funziona, utilizzo SQL server; in questo Access; il db access l'ho estratto da enterprice manager). Tuttavia tutti gli altri script funzionano correttamente. Bah.

  3. #3
    prova cmq a postare il codice

  4. #4
    Utente di HTML.it L'avatar di gim
    Registrato dal
    Oct 2000
    Messaggi
    506
    Ok.

    codice:
    Dim iPageSize
    Dim iPageCount
    Dim iPageCurrent
    Dim strOrderBy
    Dim strSQL
    Dim iRecordsShown 
    Dim Conn:Conn = "connessione" ' questa è ODBC
    Dim rs:Set rs = Server.CreateObject("ADODB.Recordset")
    SQL="SELECT * from tabella WHERE uno like'%"&uno&"%' and due like'%"&due&"%' order by "&ordina&",id asc"
    rs.open SQL, Conn,3,3
    RS.PageSize = iPageSize 
    RS.CacheSize = iPageSize 
    iPageCount = RS.PageCount 
    If iPageCurrent > iPageCount Then iPageCurrent = iPageCount 
    If iPageCurrent < 1 Then iPageCurrent = 1 
    If iPageCount = 0 Then
    ' non faccio nulla
    else
    RS.AbsolutePage = iPageCurrent :iRecordsShown = 0 
    Do While iRecordsShown < iPageSize And Not RS.EOF 
    campo1=rs("campo1")
    %>
    Response.write campo1
    <%iRecordsShown = iRecordsShown + 1
    RS.MoveNext
    Loop
    End If 
    RS.Close 
    Set RS = Nothing 
    Set Conn = Nothing 
    'Conn.Close ' non mi si chiude: non ho capito perchè 
    If iPageCurrent <> 1 Then 
    If iPageCurrent < iPageCount Then 
    End If 
    End If 
    %>
    Grazie

  5. #5
    Utente di HTML.it L'avatar di gim
    Registrato dal
    Oct 2000
    Messaggi
    506
    Ciao; forse ho scovato il problema; per ora non perdere eventualmente tempo. Faccio delle prove e ti aggiorno se ho colpito nel segno.

  6. #6
    Utente di HTML.it L'avatar di gim
    Registrato dal
    Oct 2000
    Messaggi
    506
    Ciao. Il problema era proprio nell'esportazione da SQL server; avendola fatta due volte sullo stesso db access, lui non ha sovrascritto i dati esistenti, ma ne ha aggiunti di nuovi identici; quindi mi trovavo che uno stesso record appariva sempre due volte: assurdo!

    Questo fatto, mi ha inoltre fatto scoprire un orribile difetto di quest'esportazione, di cui, ho visto cercando gli altri post, sei a conoscenza: si perde il tipo campo contatore e access non è in grado di ricrearlo se esistono vuoti di record. Un gravissimo problema.
    Nei post che ho scovato pare non esista una soluzione (anche perchè passare da sql a access è davvero improbabile); nel frattempo è magari venuto fuori qualcosa?


    Per ora sto pensando di ricreare una seconda colonna contatore con altro nome e chiave primaria; in modo che mi rimaga la colonna di nome id con i dati già presenti; uno dei problemi è che, quando viene creato un nuovo record questo si ritrova vuoto ed andrebbe popolato. Mi sembra un suicidio.

    Qualche dritta?

  7. #7
    non si può onestamente parlare di 'difetto': il campo contatore (in qualunque db) viene gestito dal db stesso al momento dell'inserimento, e non lo si può quindi 'forzare'. se l'id ti serve per linkare varie tabelle, devi gestire la cosa a mano. l'idea della seconda colonna potrebbe aiutare.

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.