[Gambas-user] result from select can be movefirts from ODBC?

PICCORO McKAY Lenz mckaygerhard at ...626...
Mon May 22 19:11:57 CEST 2017


hi zxMarce debuggin i note that based on their documentation, inserts must
return affected roms and seems gambas odbc object does not made this..

please illuminate me! i made a odbc inserts and either returns affected
roms! some other has same results?

Lenz McKAY Gerardo (PICCORO)
http://qgqlochekone.blogspot.com

2017-05-22 9:21 GMT-04:00 PICCORO McKAY Lenz <mckaygerhard at ...626...>:

> hello Fabian.. hello zxMarce
>
> Fabian, your method/code does not work as zxMarce said.. (in any case, the
> resultset and db manage was done in form code)
>
> due the result object to make the MoveTo need the count for...  as said
> zxMarce all .MoveXXX methods except .MoveNext SEEMS need a record count
> from the provider. so there's no way for the DAta event to fill the grid
> using ODBC and sybase...
>
> 1) this kind of information MUST BE in the documentation Benoit
> 2) the odbc standard does not have that unless a INSERT, UPDATE or DELETE
> was done
>
> Now lest try with the second suggestion .. a patched.. may not work
> either, due seems (and here i dont know or i not debug well) ODBC does not
> permit subquerys if a recorset are still open..
>
> all the code will must go to the odbc gambas implementation due by example
> if i do:
>
> select count(codigo) as cuanto from dba.ta_sys_existencias_dinamicas
> order by cuanto limit 50000 offset 0
>
> and in other result i do
>
> select * from dba.ta_sys_existencias_dinamicas order by col1 limit 50000
> offset 0
>
> take in consideration the limit indicate only 50000 rows, the odbc does
> not report the amount , but due strange reasons, the where( rs.available)
> will iterate over the 50000 rows event the count select only return one row!
>
> so in conclusion.. the only way to fill the grid for now, in gambas using
> odbc basic implementation its manually secuencial starting from 0 ending in
> a manual count over the previously iteration..
>
> seem quite complicated to explain and its not documented in any place in
> wiki..
>
> i can documented but only in spanish.. i'm tyred of english only!
>
> NOTE IMPORTAT: i must duplicate all this info in the respective bug  due
> the buggy integration between gambas list and mail bugtraker
>
> Lenz McKAY Gerardo (PICCORO)
> http://qgqlochekone.blogspot.com
>
> 2017-05-21 15:46 GMT-04:00 PICCORO McKAY Lenz <mckaygerhard at ...626...>:
>
>> 2017-05-21 12:33 GMT-04:30 <d4t4full at ...626...>:
>>
>>> All .MoveXXX methods except .MoveNext need a record count from the
>>> provider. You know that ODBC does not provide one, but some drivers do, and
>>> I also patched the component to try to fetch this count when possible.
>>>
>>> Now, the driver may NOT be correctly configured in unixODBC, allowing
>>> some issues. For example, if I use FreeTDS with a Server_Version of 7.0 and
>>> try to connect to a MSSQL2005, the compinent will not be able to fetch rec
>>> counts even with the patch I mentioned. But if I just change the
>>> Server_Version to 7.2, voilà: I get record counts via the patch.
>>>
>> umm but seems based on your info, i never will get the requireds for made
>> it by that way! for sybae freetds internally always use the 5.0 version
>> protocol
>>
>>
>>> This is because FreeTDS will not allow (nor ODBC will emulate) cursors
>>> with the first version combination. But it will with the second.  Cursors
>>> is what enable a result set to skip back and forth. The patch simply
>>> remembers where the cursor is (if it exists), then jumps to the last record
>>> and fetches its ordinal; then it goes back to where it was originally, and
>>> returns the record count. But for all this to work both ODBC and the driver
>>> must somehow support cursors, either by design or emulated.
>>>
>> ok as i said, i never will get the requireds by that way! sybase need the
>> 5.0 protocol and any other version server protocol will break the usage
>>
>>
>>> If you use the component test project I attached to one of your bug
>>> reports, enable GB.Debug and try your connection string (for these tests
>>> it's  best to try connstrings so you don't have to edit INIs like crazy
>>> just to test),
>>
>> the ini file its crated dinamically i dont have problem
>>
>>
>>> the console will tell you whether cursors are present or not.
>>>
>> thanks for the info.. but based in the info of firts paragraph seems that
>> by that way will never get the required!
>>
>>
>>>
>>> Bear in mind that it is possible to have cursors available but not a
>>> proper Gambas RecordCount though.
>>>
>> really? that 's contrary to the explained in the previous paragraphs!!..
>> but have logic!
>> umm but the record count will not be there for the fill of the grid! i
>> will debug like u sugested and try it! but seems due freetds server version
>> 5.0 protocol i'll not get so much.. sybase only used protocol 5.0 server
>> version..
>>
>>
>> thanks for help zxMarce and Fabian, i'm very impatient  monday comes, to
>> test in proper environment.. in my eeepc 2G there's no enough space for do
>> any of..
>>
>> ah?, yeah i writing this main in a very older hardware! with only 2G of
>> disk and 512 of ram.. running Chronno Trigger in pxsc using debian squeeze
>>
>>
>>>
>>> Hope it helps,
>>> zxMarce.
>>>
>>>
>>> On May 21, 2017, 12:41, at 12:41, PICCORO McKAY Lenz <
>>> mckaygerhard at ...626...> wrote:
>>> >now after some messaged between fabian and me, i continue in the list
>>> >the
>>> >problemm
>>> >
>>> >thanks fabian.. do you see that moveto do not permit due the grid does
>>> >not
>>> >fill in order.. so when the data event are raised the index are not
>>> >secuencial so a "foward only" problem happened....
>>> >
>>> >and now u count and then send again the select:
>>> >
>>> >
>>> >  $Result = db.Exec("select count(*) irows from sys_productos")
>>> >  $iCount = $Result!irows
>>> >
>>> >$Result = db.Exec("select * from sys_productos") <- in sybase odbc
>>> >seems
>>> >this does not work afete a count using select
>>> >
>>> >
>>> >seems there's a problem in odbc, this was i do in firts, but does not
>>> >work,
>>> >maybe i do in bad way..
>>> >
>>> >due right now i not have the odbc environment.. i'll test monday and
>>> >post
>>> >feedback here.. but seems the odbc module in gambas has a problem in
>>> >this
>>> >way, due does not permit make that.. or at least does not permit
>>> >retrieve
>>> >the results after made a select count
>>> >
>>> >
>>> >Lenz McKAY Gerardo (PICCORO)
>>> >http://qgqlochekone.blogspot.com
>>> >
>>> >2017-05-19 2:59 GMT-04:30 Fabien Bodard <gambas.fr at ...626...>:
>>> >
>>> >> 2017-05-18 17:13 GMT+02:00 PICCORO McKAY Lenz
>>> ><mckaygerhard at ...626...>:
>>> >> > yes tobias, I already know.- in last years some bugs where
>>> >discovered by
>>> >> me
>>> >> > ... the surprise its that those bugs were inside gambas since some
>>> >time
>>> >> ..
>>> >> > that's probe that the usage of was very few and limited .. (i mean
>>> >too
>>> >> many
>>> >> > mysql )
>>> >> >
>>> >> > but now i can not use, the corporation now used odbc for standard
>>> >and
>>> >> > gundows integration ... so i must use odbc inclusivelly for mysql
>>> >!!!
>>> >> Arrggg
>>> >> >
>>> >> > so now i implement your solution, and recors fill the grid .. but
>>> >when i
>>> >> > separate the database logic from the form .. now the recorset gives
>>> >me
>>> >> the
>>> >> > "only forward" error ...
>>> >> >
>>> >> > i try to attadhed the project example ... some one can helpme? the
>>> >mail
>>> >> > list cut the message! i cannot attach project!
>>> >>
>>> >> send it to me :
>>> >>
>>> >> gambas.fr at ...626...
>>> >> >
>>> >> > Lenz McKAY Gerardo (PICCORO)
>>> >> > http://qgqlochekone.blogspot.com
>>> >> >
>>> >> > 2017-05-17 18:49 GMT-04:00 Tobias Boege <taboege at ...626...>:
>>> >> >
>>> >> >> On Thu, 18 May 2017, Cristiano Guadagnino wrote:
>>> >> >> > If your complaint is due to the fact that the only native
>>> >> implementation
>>> >> >> > for Gambas is the Mysql one, you have to understand that Mysql
>>> >> (usually
>>> >> >> in
>>> >> >> > the form of MariaDB) is available on all linux distributions and
>>> >it is
>>> >> >> > free.
>>> >> >> > One other free DBMS available for all linuxes is Postgresql, but
>>> >this
>>> >> is
>>> >> >> > not even nearly as widely used as Mysql. I would not be very
>>> >surprised
>>> >> >> if,
>>> >> >> > in fact, the great majority of Gambas developers were using
>>> >Mysql.
>>> >> What's
>>> >> >> > wrong with that?
>>> >> >> >
>>> >> >>
>>> >> >> (Just a quick interjection: Gambas does have a native PostgreSQL
>>> >> driver.)
>>> >> >>
>>> >> >> --
>>> >> >> "There's an old saying: Don't change anything... ever!" -- Mr.
>>> >Monk
>>> >> >>
>>> >> >> ------------------------------------------------------------
>>> >> >> ------------------
>>> >> >> Check out the vibrant tech community on one of the world's most
>>> >> >> engaging tech sites, Slashdot.org! http://sdm.link/slashdot
>>> >> >> _______________________________________________
>>> >> >> Gambas-user mailing list
>>> >> >> Gambas-user at lists.sourceforge.net
>>> >> >> https://lists.sourceforge.net/lists/listinfo/gambas-user
>>> >> >>
>>> >> > ------------------------------------------------------------
>>> >> ------------------
>>> >> > Check out the vibrant tech community on one of the world's most
>>> >> > engaging tech sites, Slashdot.org! http://sdm.link/slashdot
>>> >> > _______________________________________________
>>> >> > Gambas-user mailing list
>>> >> > Gambas-user at lists.sourceforge.net
>>> >> > https://lists.sourceforge.net/lists/listinfo/gambas-user
>>> >>
>>> >>
>>> >>
>>> >> --
>>> >> Fabien Bodard
>>> >>
>>> >> ------------------------------------------------------------
>>> >> ------------------
>>> >> Check out the vibrant tech community on one of the world's most
>>> >> engaging tech sites, Slashdot.org! http://sdm.link/slashdot
>>> >> _______________________________________________
>>> >> Gambas-user mailing list
>>> >> Gambas-user at lists.sourceforge.net
>>> >> https://lists.sourceforge.net/lists/listinfo/gambas-user
>>> >>
>>> >-----------------------------------------------------------
>>> -------------------
>>> >Check out the vibrant tech community on one of the world's most
>>> >engaging tech sites, Slashdot.org! http://sdm.link/slashdot
>>> >_______________________________________________
>>> >Gambas-user mailing list
>>> >Gambas-user at lists.sourceforge.net
>>> >https://lists.sourceforge.net/lists/listinfo/gambas-user
>>> ------------------------------------------------------------
>>> ------------------
>>> Check out the vibrant tech community on one of the world's most
>>> engaging tech sites, Slashdot.org! http://sdm.link/slashdot
>>> _______________________________________________
>>> Gambas-user mailing list
>>> Gambas-user at lists.sourceforge.net
>>> https://lists.sourceforge.net/lists/listinfo/gambas-user
>>>
>>
>>
>



More information about the User mailing list