[Gambas-user] prb:Connection.Exec() bypass sql code
ron
ronstk at ...239...
Sat Apr 29 19:36:35 CEST 2006
function GetRecordCount(mytable) as integer
dim Count as integer
dim sql as string
dim hResult as result
sql="select count(*) from " & mytable
hresult = hConn.exec(sql)
count = hResult.count
hResult=null
return Count
end
This returns for Count 1 and the table has 20000 records
and each record contains at around 1000bytes (not realy)
Using the Count(*), wich is valid SQL syntax as far i know,
the backend returns to me 1 record with 1 field and the content
of the field is the record count in the table.
As I understood from help the hConn.exec passtrough the sql
text as is.
However it functions only with "select * from table" and would
return 20000x1000 bytes as the request is now.
Somehow this is not logic to me, using a sub routine to get the
count this way may not logic for others but it is part of more.
Just stripped to basics.
using mysql from cli gives:
mysql> use selectdemo;
mysql> show tables;
+----------------------+
| Tables_in_selectdemo |
+----------------------+
| makes |
| models |
| options |
+----------------------+
3 rows in set (0.00 sec)
*** returns 1 field as "Tables_in_selectdemo" and 3 records
mysql> select count(*) from makes;
+----------+
| count(*) |
+----------+
| 7 |
+----------+
1 row in set (0.23 sec)
*** returns 1 field as "count(*)" and 1 records
mysql> select * from makes;
+--------+-----------+
| makeID | makeName |
+--------+-----------+
| 1 | Ford |
| 2 | Pontiac |
| 3 | Chevrolet |
| 4 | Hyundai |
| 5 | Porsche |
| 6 | niels |
| 7 | ernie |
+--------+-----------+
7 rows in set (0.04 sec)
*** returns 2 fields and 7 records
Have a nice day,
Ron
More information about the User
mailing list