Enable to execute query

Lossy311082 Messages postés 5 Date d'inscription mardi 9 octobre 2007 Statut Membre Dernière intervention 30 mars 2011 - 23 nov. 2010 à 07:11
Lossy311082 Messages postés 5 Date d'inscription mardi 9 octobre 2007 Statut Membre Dernière intervention 30 mars 2011 - 30 mars 2011 à 08:26
salut tous le monde!
j'ai un problème sur mon application delphi7! est ce que ql1 peut m'aider sur le message d'erreur 'unable to execute query'! je pense que l'erreur vient du requête mais je ne sais pas où! l'erreur n'apparait pas sur Windows 2000 mais en XP il revient!!
Merci d'avance!!!!!!

7 réponses

cs_cantador Messages postés 4720 Date d'inscription dimanche 26 février 2006 Statut Modérateur Dernière intervention 31 juillet 2021 13
23 nov. 2010 à 12:13
Bonjour,

il faudrait nous montrer quelque chose..


cantador
0
Lossy311082 Messages postés 5 Date d'inscription mardi 9 octobre 2007 Statut Membre Dernière intervention 30 mars 2011
24 nov. 2010 à 12:18
merci de me répondre
désolé mais les codes sont à +eurs lignes!
est ce que vous pouvez me donner quel que conseil pour éviter alors cet problème!!
0
cs_cantador Messages postés 4720 Date d'inscription dimanche 26 février 2006 Statut Modérateur Dernière intervention 31 juillet 2021 13
24 nov. 2010 à 17:01
ben non, il faudrait
être magicien

ou sorcier

cantador
0
Caribensila Messages postés 2527 Date d'inscription jeudi 15 janvier 2004 Statut Membre Dernière intervention 16 octobre 2019 18
24 nov. 2010 à 19:53
... ou devin
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Lossy311082 Messages postés 5 Date d'inscription mardi 9 octobre 2007 Statut Membre Dernière intervention 30 mars 2011
14 déc. 2010 à 10:48
ok!
je vous donne quelque ligne de programme
traitement de donner + de 200 000 enregistrement
base de données mysql server 5.0
langage Delphi 7

with TSQLQuery.Create(Self) do
begin
SQLConnection := FConnection.SQLConnection1;
SQL.Clear;
SQL.Add('SELECT * FROM ' + sFns + '_' + sDate + '_TmpZin100 WHERE' + ' (ETAT IS NULL OR (ETAT = "")) ' + sCond + sOrder100 + ' LIMIT '+ IntToStr(iCompteur) + ', '
+ IntToStr(PbZin100.MaxValue));// limité 0 jusqu'à nbr d'enregistrement
Prepared := True;
Open;
while not Eof do
begin
//..... suite du traitement
end;
end;

Au bout de quel minute l 'erreur s'affiche 'Enable to execute query'
est ce que cet erreur est identique au 'interactive_timeout'????
Merci d'avance pour les aides
0
boxma Messages postés 6 Date d'inscription dimanche 3 octobre 2010 Statut Membre Dernière intervention 5 février 2011
5 févr. 2011 à 20:07
salut salut

Au bout de quel minute l 'erreur s'affiche


d'apré le message le probleme vien de la requete et pas des traitement donc ce que je peut te consiel d'afficher ta requete dans un message aumoin tu pourra voir si ta requete est correct
avant d'arrive a la partie
[
Open; 
while not Eof do 
begin 
//..... suite du traitement 
end; 
end; 


je dis ça pasque on conné pas la nature des tes veriable
sFns ,sDate,sCond ,sOrder100


(transpage, incompabilité de la date ...)
0
Lossy311082 Messages postés 5 Date d'inscription mardi 9 octobre 2007 Statut Membre Dernière intervention 30 mars 2011
30 mars 2011 à 08:26
re salut tt le monde

je vous donne alors 2 procedures qui sont à la source du problème


function Caracteres_Speciaux_Existe_Sauve(pChaine : string) : boolean;
var
speciaux: pCellule;
existe: Boolean;
begin
existe := False;
//insertion caractere dans un pointeur
speciaux := pCaracteresSpeciaux;
while speciaux <> nil do
begin
with TSQLQuery.Create(Self) do
begin
SQLConnection := FConnection.SQLConnection1;
SQL.Clear;
SQL.Add('select mot from ad_anomalie where mot = ' + quotedstr(pchaine));
Prepared:= True;
open;
if recordCount > 0 then
begin
existe := true;
break
end;

Close;
Free;
end;
speciaux := speciaux^.suivant;
end;
speciaux := nil;
Result := existe;
end;

procedure TFImportMovex.btnAlerte2Click(Sender: TObject);
var
vIDEnreg : string;
vTrouveAnomalie : boolean;
nbrEnreg, nbrEnreg2 : integer;
vDesignArt : string;
j : integer;
begin
//insertion des caractère spéciaux dans un pointeur
Init_Caracteres_Speciaux;

vTrouveAnomalie := false;
screen.Cursor := crSQLWait;
nbrEnreg2 := GetRecordCount(sFns + '_' + sDate + '_TmpExtract', 'TRIM(DESIGNART) <> ""');
PanAttente.Visible := True;
lbAttente.Caption := 'Détection anomalie désignation en cours...';
pbAttente.MinValue := 0;
pbAttente.MaxValue := nbrEnreg2;
pbAttente.Value := 0;

if Table_Existe('Movex_Alerte') then
Exec_MySQL_Teste('DROP TABLE Movex_Alerte');

Exec_MySQL_Teste('CREATE TABLE IF NOT EXISTS Movex_Alerte'
+ ' AS SELECT * FROM ' + sFns + '_' + sDate + '_TmpExtract');
Exec_MySQL_Teste('Truncate TABLE Movex_Alerte');
//pour stocker les nombres ktaires spéciaux
if Table_Existe('tmp_anomalie') then
Exec_MySQL_Teste('DROP TABLE tmp_anomalie');
Exec_MySQL_Teste('CREATE TABLE tmp_anomalie('
+ ' id INT NOT NULL AUTO_INCREMENT,'
+ ' PRIMARY KEY(id),'
+ ' mot VARCHAR(30))');


with QueryMySQL3 do
begin
Application.ProcessMessages;
Close;
SQL.Clear;
Activate;
SQL.Add('SELECT ID,DESIGNART FROM ' + sFns + '_' + sDate + '_TmpExtract WHERE '
+ 'TRIM(DESIGNART) <> "" ORDER BY ID LIMIT 0, ' + IntToStr(nbrEnreg2));
Prepared:= True;
Open;
while not Eof do
begin
Application.ProcessMessages;
vIDEnreg := FieldByName('ID').AsString;
vDesignArt := FieldByName('DESIGNART').AsString;
if Caracteres_Speciaux_Existe_Sauve(vDesignArt) then
begin
with TSQLQuery.Create(Self) do
begin
SQLConnection := FConnection.SQLConnection1;
SQL.Clear;
SQL.Add('INSERT INTO Movex_Alerte SELECT * FROM ' + sFns + '_' + sDate + '_TmpExtract '
+ ' WHERE ID = ' + QuotedStr(vIDEnreg) + ' AND ID NOT IN (SELECT ID FROM Movex_Alerte)');
Prepared:= True;
ExecSQL;
vTrouveAnomalie := true;
Close;
Free;
end;
end;
pbAttente.Value := pbAttente.Value + 1;
Next;
end;
Close;
end;
//----------------------------------------------------------....: michel
if vTrouveAnomalie then
begin
nomTableAModifier := sFns + '_' + sDate + '_TmpExtract ';
(*FAnomalie2.sStep := 'DESIGN';
FAnomalie2.sSource := 'Movex';
FAnomalie2.sTable := 'Movex_Alerte';
FAnomalie2.sTableFinale := sFns + '_' + sDate + '_TmpExtract';
FAnomalie2.bRemplace := True;
FAnomalie2.bSuppr := False;
FAnomalie2.sChamp := '';
FAnomalie2.ShowModal;*)
FAnomalie_Resume.sStep := 'DESIGN';
FAnomalie_Resume.sSource := 'Movex';
FAnomalie_Resume.sTable := 'Movex_Alerte';
FAnomalie_Resume.sTableFinale := sFns + '_' + sDate + '_TmpExtract';
FAnomalie_Resume.bRemplace := True;
FAnomalie_Resume.bSuppr := False;
FAnomalie_Resume.sChamp := '';
FAnomalie_Resume.ShowModal;
end;
//----------------------------------------------------------....: michel
//Supprimer la table temporaire anomalie
if Table_Existe('tmp_anomalie') then
Exec_MySQL_Teste('DROP TABLE tmp_anomalie');

PanAttente.Visible := False;
screen.Cursor := crDefault;
Application.ProcessMessages;
Liberer_Liste(pCaracteresSpeciaux);
Liberer_Liste(pSpeciauxResume);
end;



merci de votre aide!!
Michel
0
Rejoignez-nous