Newsgroup: it.comp.lang.visual-basic
Titolo: RS.RECORDCOUNT CON MYSQL????

Salve,
Pare che MySql non supporta questo comando che utilizzo e funziona
correttamente con un database SQL SERVER, come posso fare???? mi
restituisce sempre -1, c'e' qualcosa che devo scaricare oppure ci posso
mettere una X sopra???.
Grazie ciao
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 mettere una X sopra???.
SELECT COUNT (*) FROM
-- 
Per diventare grandi non bisogna avere paura di essere piccoli
Per rispondere in privato elimina dall'indirizzo "togliquesto"
MasterDavidex - David Ruscelli

 SELECT COUNT (*) FROM
???? SCUSAMI MA NON HO CAPITO, IO HO IL RECORDSET APERTO PER PRENDERMI IL
VALORE DEI CAMPI PER CARICARE UNA GRIGLIA, E CON IL NUMERO MI PREPARAVO LE
RIGHE CHE MI SERVIVANO 


 RIGHE CHE MI SERVIVANO
Su usenet scrivere in maiuscolo equivale ad urlare.
E' molto semplice, prima di aprire il recordset con i dati che ti servono,
ne apri uno con "select count * from where...."
e leggi il risultato in rsCheTiPare(0)
Cosě sei anche sicuro che funziona su tutti i Db.
Il recordcount lascialo perdere, č una schifezza.


 Il recordcount lascialo perdere, è una schifezza.
Grazie, solo che ho un programma con il quale lavoro che usa tutto in
maiuscolo e la tastiera è perennemente bloccata così neanche ci faccio
caso, per rsCheTiPare(0) intendi tipo rs.fields(0)?? grazie in munuscolo
ma un GRAZIE grande fà piu' effetto


 Il recordcount lascialo perdere, è una schifezza.
Grazie, solo che ho un programma con il quale lavoro che usa tutto in
maiuscolo e la tastiera è perennemente bloccata così neanche ci faccio
caso, per rsCheTiPare(0) intendi tipo rs.fields(0)?? grazie in munuscolo
ma un GRAZIE grande fà piu' effetto
-- 


 ma un GRAZIE grande fà piu' effetto
un "select count (*) where..."
restituisce un recordset con una colonna e una riga (un singolo campo
contenente l valore restituito) oppure in alcuni casi un recordset null.
se hai il recordset rsTemp e vuoi testare che ci siano record prima di
riempire la griglia.
rsTemp.open sQueryCont, Cn, adOpenForwardOnly, adLockReadOnly 'sQueryCount
contiene la query con il count
if rsTemp(0) > 0 then
    'inserisco i dati nella griglia
end if
E' un esempio grossolano ovviamente, solo per rendere l'idea.
Ho dato per scontato che usi Ado, usi Ado vero?


 ha scritto nel messaggio
news:cc19dd$590$1...@news.newsland.it...


 mettere una X sopra???.
Devi impostare il cursore adUseClient
Ciao
Paolo Ardissone

 Ho dato per scontato che usi Ado, usi Ado vero?
ciao, ho fatto delle prove ma mi restituisce il seguente errore:
Il driver ODBC non supporta le proprietà richieste
il database è MYSQL(il maledetto)


rsTemp.open sQueryCont, Cn, adOpenForwardOnly, adLockReadOnly 'sQueryCount
Può darsi che mysql non supporti i cursori solo avanti e di sola lettura,
prova a usarne altri.

 il database è MYSQL(il maledetto)
'Nel modulo principale metto :
Global gnMySQL As New ADODB.Connection
'Nella form di login :
'ODBC DSN LESS
lsConn = ""
lsConn = lsConn & "DRIVER={MySQL ODBC 3.51 Driver};"
lsConn = lsConn & "DATABASE=[Nome del database];"
lsConn = lsConn & "SERVER=" & [IP del Server] & ";"
lsConn = lsConn & "UID=" & [Username ] & ";"
lsConn = lsConn & "PASSWORD=" & [Password] & ";"
lsConn = lsConn & "PORT=" & [Porta] & ";"
lsConn = lsConn & "OPTION= 18475 "
gnMySQL.CursorLocation = adUseClient
gnMySQL.Open lsConn
Uso in tutto il prg la recordcount e non mi da alcun problema.
Ciao
Paolo Ardissone

 Paolo Ardissone


>rsTemp.open sQueryCont, Cn, adOpenForwardOnly, adLockReadOnly 'sQueryCount
Forse dipende da questo ...
5.1 While executing the query "SELECT count (*) FROM table ..", it
returns an error. What is the reason ?
It's because the 'COUNT(*)' expression is returning a BIGINT, and ADO
can't make sense of a number this big. Set the option to treat BIGINTs
as INTs in Connector/ODBC (option value 16384). 
http://dev.mysql.com/doc/connector/odbc/en/faq_5.html#count-error
Ciao!