Newsgroup: it.lavoro.professioni.webmaster
Titolo: Paginazione ASP possibile?

Ho un DB access e un file di testo che servirebbe per aggiornarlo.
Faccio con pagine ASP una select su il file di testo, una select sulla
tabella del DB access; confronto il campo autore e quando li trovo uguali
inserisco i dati del file di testo aggiornati nel DB access.
Fino a qui tutto facile, se non fosse che il DB access ha 29.000 voci, per
cui il server va in timeout!
La mia idea era questa: con la paginazione prendo i primi 5000 record del DB
access, e confronto tutte le voci del txt con i primi 5000... quindi vado
avanti.
Una volta pero' confrontata la prima voce del txt con i primi 5000 del DB ho
bisogno di tornare all'inizio di questi 5000 per confrontarli con il secondo
del txt. Se sono alla prima pagina della paginazione uso "Movefirst", ma se
sono alla seconda come si fa a tornare in testa alla pagina (quindi al
5001esimo record)???
Spero di essere stato chiaro!
Grazie!

mmmh, io a occhio utilizzerei una colonna in cui inserire un flag da
aggiornare dopo ogni ciclo di ricerca attraverso un contatore in asp.
ciao
gray


wrote:



Hai provato ad indicizzare il database? Hai provato ad incrementare il
timeout?
Utilizzando MSAccess puoi inoltre fare in modo che il file txt venga visto
dal db come tabella collegata. In questo modo puoi utilizzarlo come se fosse
una qualsiasi tabella e quindi aggiornare i record che ti interessano con
una semplice query.
Mao
--------------------------------
Inviato via 
http://usenet.libero.it

 una semplice query.
In quale modo, la query non sarebbe la stessa, devo sempre fare una select
di entrambe le tabelle e confrontarle?
Grazie!

 aggiornare dopo ogni ciclo di ricerca attraverso un contatore in asp.
Puoi spiegarmi meglio?
Grazie!

 di entrambe le tabelle e confrontarle?
Supponiamo di avere due tabelle: la prima, che chiameremo Tabella1 contiene
tre campi (Autore, Campo1 e Campo2) ed è la tabella del db da aggiornare; la
seconda, che chiameremo Tabella2, contiene anch'essa tre campi (Autore,
Campo1 e Campo2) ed è la tabella collegata al file txt. Volendo aggiornare i
campi della prima tabella con i valori dei campi della seconda tabella, in
tutti i record in cui il campo Autore è uguale, la query sarà:
UPDATE Tabella1 INNER JOIN Tabella2 ON Tabella1.Autore = Tabella2.Autore SET
Tabella1.Campo1 = Tabella2.Campo1, Tabella1.Campo2 = Tabella2.Campo2


 cui il server va in timeout!
Gli indici, questi sconosciuti....:-)
Saluti.
Luciano

> Gli indici, questi sconosciuti....:-)
Forse se avessi con il mezzo la vostra stessa dimestichezza capirei cosa
vuoi dire?!? ;o)

 Tabella1.Campo1 = Tabella2.Campo1, Tabella1.Campo2 = Tabella2.Campo2
Ho fatto come dicevi, importando il TXT in una tabella.
Pero' ho un problema: se in tabella1 ho MARIO (ROSSI), e in tabella2 ho solo
MARIO, io vorrei che l'uguaglianza fosse verificata comunque, nel senso che
sono uguali MARIO e MARIO .......
Come posso fare?
Grazie!


Tutto il mio ragionamento era basato sul fatto che il campo autore della
tabella da aggiornare fosse uguale al campo autore del file txt; con uguale
intendo che i contenuti dei due campi fossero perfettamente identici (spazi
compresi). Quindi se da una parte ho MARIO e dall'altra MARIO (ROSSI), il
record relativo non verrà aggiornato. Però ci sarebbe un'altra possibilità:
il contenuto del campo autore è sempre di tipo "NOME (COGNOME)"?


> il contenuto del campo autore è sempre di tipo "NOME (COGNOME)"?
In genere si, magari se ha qualche altra differenza provero' a correggere il
campo!
Che idea hai?
Grazie!


Potresti creare una query di selezione con un nuovo campo contenente il solo
nome autore.
Caso 1
Supponiamo che in tabella1 (tabella da aggiornare) ci sia un MARIO (ROSSI),
e in tabella2 (tabella collegata al file txt) solo MARIO. In questo caso si
potrebbe dapprima creare una query di selezione (query1) partendo da
tabella1:
SELECT tabella1.*, Left([tabella1]![Autore],InStr(1,[tabella1]![Autore],"
")-1) AS NomeAutore FROM tabella1
e successivamente lanciare la query di aggiornamento
UPDATE query1 INNER JOIN tabella2 ON query1.NomeAutore = tabella2.Autore SET
query1.Campo1 = tabella2.Campo1, query1.Campo2 = tabella2.Campo2
Caso 2
Supponiamo che in tabella1 (tabella da aggiornare) ci sia un MARIO, e in
tabella2 (tabella collegata al file txt) un MARIO (ROSSI). In questo caso
sarà sufficiente creare la query di selezione (query1) partendo da tabella2:
SELECT tabella2.*, Left([tabella2]![Autore],InStr(1,[tabella2]![Autore],"
")-1) AS NomeAutore FROM tabella2
e lanciare la query di aggiornamento
UPDATE query1 INNER JOIN tabella1 ON query1.NomeAutore = tabella1.Autore SET
tabella1.Campo1 = query1.Campo1, tabella1.Campo2 = query1.Campo2
Prima di lanciare le query di aggiornamento, per sicurezza, fatti una copia
delle tabelle in caso qualcosa andasse storto.


 nome autore.
Le tue idee sono probabilmente valide, e vedro' di capirle per imparare
qualcosa, ma mi hanno suggerito un metodo piu' rapido:
UPDATE Tabella1 INNER JOIN Tabella2 ON Left(Tabella1.Autore,
Len(Tabella2.Autore)) = Tabella2.Autore AND Tabella1.Opera = Tabella2.Opera
SET Tabella1.Campo1 = Tabella2.Campo1
Lo posto per chiunque si fosse interessato alla cosa!
Grazie ovviamente per il tuo contributo Mao!!!

molto  puù performante.
eggià, passare da access a mysql, e che ce vo'.  bei consigli del
cavolo da dare ad un niubi.  
perchè, se proprio vuoi atteggiarti, non gli consigli come fare a
risolvere il suo problema con gli strumenti che ha, visto che è
possibilissimo invece di voler fare le solite belle figure dei miei
stivali coi soliti luoghi comuni del cavolo?
perchè non cerchi di vedere cosa accidenti intende con "select su un
file di testo"?
no, "usa mysql che è più veloce".  ed è gratis.  tu hai fatto la tua
bella figura di espertone e il problema rimane.  mah.