Search  
Friday, May 25, 2012 ..:: Forum ::.. Register  Login
 Forum Minimize
Pentru a putea posta mesaje trebuie să vă înregistraţi.
Notă: Mesajele cu conţinut jignitor sau ilegal (inclusiv cereri de soft piratat) nu sunt acceptate şi vor fi şterse imediat .

Pentru a primi raspunsuri rapide si corecte, scrieti in mesaj ce intentionati sa faceti, ce mesaj de eroare primiti, in ce context si in urma caror actiuni. De asemenea, mentionati versiunea de FoxPro in care lucrati!
Dacă nu specificați versiunea, se consideră VFP 9.0 SP2.

SearchForum Home
  Visual FoxPro  Client/Server  Ciudatenie FOX-...
 Ciudatenie FOX-MYSQL
 
 1/16/2012 1:58:44 PM
User is offlinegavroche
82 posts


Ciudatenie FOX-MYSQL
 (N/A)
Am urmatorul caz bizar:
La init-ul unui raport am codul de mai jos:
sir="select nume from cartiere where id_cartier=1"
SQLEXEC(conn,sir,"tabel")
Cand pornesc raportul nu mi se creaza nici un cursor "tabel" in fox si nu primesc nici o eroare.
Daca rulez comenzile din fereastra de comenzi totul e ok.
Daca fac executabil si rulez, totul e ok.
Daca rulez doar raportul in FOX nu se intampla NIMIC.
Singura solutie (stupida) care mi-a mers a fost sa repet comanda sqlexec de 2 ori:
sir="select nume from cartiere where id_cartier=1"
SQLEXEC(conn,sir,"tabel")
SQLEXEC(conn,sir,"tabel")
A mai patit cineva asa ceva?


 1/16/2012 2:34:11 PM
User is offlineDaniel Buduru
2335 posts
1st




Re: Ciudatenie FOX-MYSQL
 (N/A)
Incearca asta in program:

clear error
if sqlexec(conn,sir,'tabel')<1
   aerror (ae)
   messagebox('Eroare '+tran(ae[1])+' '+ae[2])
endif

Daniel Buduru
 1/17/2012 6:51:09 AM
User is offlinegavroche
82 posts


Re: Ciudatenie FOX-MYSQL
 (N/A)
Imi zice ca  ae.prg does not exists.
Deci nu genereaza nicio eroare de fox deci array ae nu exista.
 1/17/2012 7:40:11 AM
User is offlineDaniel Buduru
2335 posts
1st




Re: Ciudatenie FOX-MYSQL
 (N/A)
Verifica ce valoare returneaza sqlexec.
Daca e 0, inseamna ca inca se executa o comanda. Situatia asta este normala daca ai o conexiune asincrona si a fost data anterior o comanda pe acea conexiune, comanda care inca nu s-a terminat.
Daca e -1, e o eroare pe care driverul odbc nu o comunica.

Daniel Buduru
 1/17/2012 8:05:20 AM
User is offlinegavroche
82 posts


Re: Ciudatenie FOX-MYSQL
 (N/A)
Intotdeauna sqlexec returneaza >0
Deci nu e nici eroare, nici nu asteapta dupa o comanda asincrona.
Vreau sa iti reamintesc faptul ca daca pun 2 comenzi sqlexec identice, consecutive, problema dispare.
Deasemenea problema nu apare daca rulez executabilul.
 1/17/2012 8:11:28 AM
User is offlineDaniel Buduru
2335 posts
1st




Re: Ciudatenie FOX-MYSQL
 (N/A)
 gavroche wrote
Intotdeauna sqlexec returneaza >0
Deci nu e nici eroare, nici nu asteapta dupa o comanda asincrona.

Pentru asta am pus, pentru a elimina cazul in care sqlexec >=1
if sqlexec(conn,sir,'tabel')<1

 gavroche wrote
Vreau sa iti reamintesc faptul ca daca pun 2 comenzi sqlexec identice, consecutive, problema dispare.
Deasemenea problema nu apare daca rulez executabilul.

Prin conexiunea asincrona se explica acest comportament

In cazul in care sqlexec returneaza 1 si totusi nu creeaza cursorul, n-am idee ce se intampla.


Daniel Buduru
 1/17/2012 9:35:10 AM
User is offlinegavroche
82 posts


Re: Ciudatenie FOX-MYSQL
 (N/A)
Am incercat asa:
SQLSETPROP(conn,"Asynchronous",.F.)

Se pare ca acest lucru rezolva problema.
Multumesc de sfat.
  Visual FoxPro  Client/Server  Ciudatenie FOX-...

Search  Forum Home         

 Google Ads Minimize

    

Copyright 2002-2010 Profox   Terms Of Use  Privacy Statement