Integer Napisano Marzec 29, 2010 Zgłoś Share Napisano Marzec 29, 2010 Witam. Najpierw treść kodu aby było wiadomo co się dzieje. Kod jest kompletny więc może komuś się przyda. A pytanie jest krótkie. Na Serwerze na kompie programik tworzy i kasuje tabelę bez problemów. Jednak gdy zmienię na HostName:= 'www.opengl.com.pl'; // '127.0.0.1' to przy próbie utworzenia i kasowanie tabeli na serwerze w www.... wyskakują komunikaty: "Can not open a Resultset." - przy kasowaniu tabeli w TabeleTworzClick, jednak kasowanie zostało wykonane "Can not open a Resultset." - przy tworzeniu tabeli w TabeleKasujClick, jednak tworzenie zostało wykonane, a komunikat uniemożliwia pokazanie tabeli; po osobnym kliknięciu opcji TabelePokazClick tabela jednak zostaje pokazana. Jak się pozbyć tego "Can not open a Resultset."?? Z góry dziękuje za podpowiedź. unit DBDelfinBase; interface Uses ZConnection, StdCtrls, SysUtils, Classes, SqlExpr, Dialogs, WideStrings; function BDConnectionON(ZConnection1: TZConnection; MInfo: TMemo; CanShowMsgErr: Boolean): Boolean; procedure BDConnectionOFF(ZConnection1: TZConnection; MInfo: TMemo); procedure BDOptionsLoad(ZConnection1: TZConnection); implementation function BDConnectionON(ZConnection1: TZConnection; MInfo: TMemo; CanShowMsgErr: Boolean): Boolean; begin MInfo.Lines.Add('Próba podłączenia z BD'); if not ZConnection1.Connected then begin BDOptionsLoad(ZConnection1); try ZConnection1.Connected:= True; MInfo.Lines.Add('Połączono z BD.'); Result:= True; except MInfo.Lines.Add('Nie można się połączyć z bazą danych.'); if CanShowMsgErr then MessageDlg('Nie można się połączyć z bazą danych.', mtWarning, [mbOK], 0); Result:= False; end; end else begin MInfo.Lines.Add('Połączenie z BD już istnieje.'); Result:= True; end; end; procedure BDConnectionOFF(ZConnection1: TZConnection; MInfo: TMemo); begin MInfo.Lines.Add('baza próba rozłączenia'); if ZConnection1.Connected then begin ZConnection1.Connected:= False; end; end; procedure BDOptionsLoad(ZConnection1: TZConnection); begin With ZConnection1 do begin Database:= 'integers_test1'; HostName:= 'www.opengl.com.pl'; // '127.0.0.1' LoginPrompt:= False; Password:= '1qaz2wsx'; Port:= 3306; Protocol:= 'mysql-5'; User:= 'integers_test1_u'; end; end; Ś)Uą()Ń()( ą (]5MUŃąYŃ ąĄ Ńą(ąiŃŃI=ŃiŃŃŃiŃi Ń(5 ŃąMŃ Ńą()Ń((((QąĄQ(i ŃQi Ń(55Q55( Q5%Ń(Q5%Ń(MŃŃ QMŃŃ (iEQiE( Q (ŃMQŃM(QąAQ5%Ń(5%źQ5ź(ąQ5%Ń(Qą-Q5%Ń(QąQQ5%Ń(IQ5%Ń( ąŹĄMQ=(i ŃŃ ĄMQ=(i ŃŃĄMQ=( ąŹĄMQ=(QąA ąŹĄMQ=(I ąŹĄMQ=(ŃĄMQ=(Qą- ąŹĄMQ=(QąQ ąŹĄMQ=(MĄĄMQ=(- ąŹĄMQ=(ŃAŃąŃ(ąAąąŃ(()(Q()ąŃŃ()H()Q ąŹĄMQ=)( Ń=8Ąi Ń5%źQ((iE Ńi Ń(ŃMŃMiE( ŃMŃM)()QMĄĄMQ=)( ąŹĄM)()Q ąŹĄMQ=)( Ń=Ąi Ń5%ź)()QŃĄMQ=)( Ń=Ąi Ń5%ź)(()Qi ŃŃ ĄMQ=)(MŃŃ AąltQ )()Qi ŃŃĄMQ=)(MŃŃ AąltQ)(()QQąA ąŹĄMQ=)( Ń=8Ąi Ń5%źQŃĄ(Ń(5%ź1AŃą(iEME0 ą(iEME0M1 PI=4(iEŃŃ((MĄ5QąŃ()()QQą- ąŹĄMQ=)(iEME0 ą(iEME0I=@Q 1%a%MQL(iEŃŃ)()QQąQ ąŹĄMQ=)(iEME0 ą(źźiEME0 IQQ 1Ą%9P9=P9U10UQ=}%9 I59P !HAI%5Id-dĄ(iEME0 IQQ 1}U9M%99=P9U10UQ=}%9 I59PAI%5Id- dĄąźĄąĄąĄŃą Ą(iEŃŃ((QąA ąŹĄM)()( Link do komentarza Udostępnij na innych stronach More sharing options...
Toster Napisano Marzec 29, 2010 Zgłoś Share Napisano Marzec 29, 2010 1. wsyledzic zrod komunikatu i zrozumiec co jest nie tak. 2. roziwazanie typu gwóźdź: Wziąść całość w blok try Except Zreszta wydaje mi sie ze zarowno drop jak i create nie zwraca wyniku, wiec pytasz nie ta komenda co trzeba. Nie pamietam nazwy funkcji ale wiem ze jeden typ zapytania byl dla komend zwracajacych rezultat inny dla pozostalych Always Dark<br /> Link do komentarza Udostępnij na innych stronach More sharing options...
Integer Napisano Marzec 29, 2010 Autor Zgłoś Share Napisano Marzec 29, 2010 Za poradą zrobiłem poniższe i działa, chyba nie powinno być skutków ubocznych :] 100-krotne dzięki. procedure TForm1.TabeleKasujClick(Sender: TObject); begin ZQuery1.SQL.Clear; ZQuery1.SQL.Add('DROP TABLE IF EXISTS osoby'); try ZQuery1.Active := true; except end; end; procedure TForm1.TabeleTworzClick(Sender: TObject); begin ZQuery1.SQL.Clear; // ZQuery1.SQL.Add('CREATE TABLE osoby (id INT NOT NULL AUTO_INCREMENT, imie CHAR(20), PRIMARY KEY(id))'); ZQuery1.SQL.Add('CREATE TABLE osoby ( id_osoby int UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY, imie char(50) not null, nazwisko char(50) not null, email char(50) not null, gg char(15), telefon char(20) )'); try ZQuery1.Active := true; except end; Form1.TabelePokazClick(Sender); end; Link do komentarza Udostępnij na innych stronach More sharing options...
Polecane posty
Zarchiwizowany
Ten temat jest archiwizowany i nie można dodawać nowych odpowiedzi.