Delphi7 Wysyłanie Do bazy

0

witam ! chciałem wysłać do bazy Pewne Dane, Szukałem po google o metodach GET i POST lecz nic nie znalazłem chcę zrobić Coś takiego Aby wysłać dane z pola edit memo itp do bazy danych po czym wyciągnąć je do skryptu ale z tym sobie poradzę chodzi mi o jakiś przykład jak za pomocą indy mogę wysłać coś do bazy danych za wszystkie odpowiedzi dziękuję.

0

co ma wspólnego GET/POST i INDY z bazą danych???

0

szukałem wszystkiego... ma ktos przykład jak wysłać coś do bazy danych ?

0

Co masz na myśli pisząc "baza danych"?
Chcesz zrobić program, który "połączy" się ze stroną www, coś tam puści za pomocą post albo get, a później Ty w php coś zrobisz z danymi które program wysłał wcześniej... tak? ło to chodzi? musisz jaśniej, bo nie wiadomo o co Tobie chodzi.

0

tak chcę się połączyć z bazą danych po czym wysłać do niej dane do tabeli np. do tabeli Users.

0

Rozumiemy, że masz takie dane, jak:
Nazwa użytkownika, hasło, serwer
?

0

noo tak.. mam wszystkie dane jestem administratorem tej bazy i serwera... mam także dostęp do ftp.

Refresh

refresh2

1
  1. uruchamiasz przeglądarkę
  2. w pasek adresu wpisujesz google.pl i enter
  3. w pole wyszukiwania wpisujesz "delphi nazwa_bazy_z_jakiej_chcesz_korzystać" i enter
  4. czytasz i się uczysz
0

szukałem własnie pod taką nazwą !!! Wyswietlało mi się jak wklejać do programu dane z bazy lub jak stworzyć baze w delphi...

0

to może zapytam inaczej - wiesz w ogóle co oznacza "tak chcę się połączyć z bazą danych po czym wysłać do niej dane do tabeli np. do tabeli Users." bo z twoich postów wynika, że myślisz, że polega to na wysłaniu danych na serwer FTP a on już sobie z tym jakoś sam poradzi.

dla mysqla pierwszy z brzegu link z googla MySQL w Delphi

0

tam jest napisane o bazie którą mam na komputerze ;) mi chodziło o baze którą mam zainstalowaną na swoim serwerze na swojej stronie :] chodziło mi o rejestracje do bazy którą mam na necie :D zaraz postaram się coś znaleźć na google ale wątpie tym czasem prosze o odpowiedz.

0

Ja dalej nie rozumiem na serwerze masz bazę (pewnie MySQL ale nie koniecznie) i jest jakiś skrypt PHP, jakiś formularz, który chcesz wypełniać i wysyłać (tak jak by został wypełniony przez użytkownika wchodzącego na stronę) za pomocą Delphi czy może chcesz bezpośrednio łączyć się z bazą i przykładowo coś zapisywać do niej.

0
xoxo napisał(a)

tam jest napisane o bazie którą mam na komputerze ;) mi chodziło o baze którą mam zainstalowaną na swoim serwerze na swojej stronie :] chodziło mi o rejestracje do bazy którą mam na necie :D zaraz postaram się coś znaleźć na google ale wątpie tym czasem prosze o odpowiedz.
a wytłumacz mi czym się różni baza którą masz na kompie lokalnie od takiej, która jest na innym kompie (np. w necie)???

0

chodzi mi oto aby z delphi połączyć się z bazą danych mysql po czym wysłać z programu do bazy jakieś dane np. Dane z labela do Tabeli users, inaczej to chcę zrobić rejestracje z programu do bazy mysql :D

0

No to pobaw się np. DirectSQL (albo poszukaj czegoś innego, DirectSQL ma ten + że nie wymaga zewnętrznych DLL)
http://sourceforge.net/projects/directsql/

I masz przykład:

//do uses uMysqlClient;
const
   HOST = 'localhost';
   USER_NAME = 'user';
   USER_PASS = 'pass';
   DB_NAME = 'test';
   DB_PORT = 3306;
var
  MySqlClient: TMySqlClient;
  MySqlResult: TMySqlResult;
  i: Integer;
  ok: Boolean;
begin
  MySqlClient:= TMySqlClient.create;
  try

  MySqlClient.connect(HOST, USER_NAME, USER_PASS, DB_NAME, DB_PORT);
  if MySqlClient.Connected then
  begin
    Memo1.Lines.Add('Polaczony');
    MySqlClient.query('CREATE TABLE users ' +
      '(id INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY, ' +
      'imie TINYTEXT NULL DEFAULT NULL, ' +
      'nazwisko TINYTEXT NULL DEFAULT NULL, ' +
      'wiek TINYINT NULL DEFAULT NULL);', false, ok); //tworzy przykladowa tabele users
    if (ok = True) or (MySqlClient.LastErrorNo = 1050 {tabela już istnieje}) then
    begin
      if MySqlClient.LastErrorNo = 0 then
        Memo1.Lines.Add('Tabela users została utworzona.')
      else
        Memo1.Lines.Add('Tabela users juz istnieje.');
      MySqlClient.query(Format('INSERT INTO users(imie, nazwisko, wiek) VALUES ' +
        '("%s", "%s", %d);', ['Jan', 'Kowalski', 18]), false, ok); //daje rekord
      if ok then
      begin
        Memo1.Lines.Add('Rekord został dodany do bazy.');
        MySqlResult:= MySqlClient.query('SELECT * FROM users;', true, ok); //odczyt rekordow
        if MySqlResult <> nil then
        begin
          while not MySqlResult.Eof do //jeden ze sposobow pobrania rekordow
          begin
            Memo1.Lines.Add(Format('----------------'#13#10'ID: %0:s'#13#10'Nazwisko: %1:s' +
              #13#10'Nazwisko: %2:s'#13#10'Wiek: %3:s', [MySqlResult.FieldValue(0),
              MySqlResult.FieldValue(1), MySqlResult.FieldValue(2), MySqlResult.FieldValue(3)]));
            MySqlResult.Next;
          end;
        end
        else
          Memo1.Lines.Add('ERROR: ' + MySqlClient.LastError);
      end
      else
        Memo1.Lines.Add('ERROR: ' + MySqlClient.LastError);
    end
    else
      Memo1.Lines.Add('ERROR: ' + MySqlClient.LastError);
    MySqlClient.close; //rozlacz
  end
  else
    Memo1.Lines.Add('ERROR: ' + MySqlClient.LastError);
  finally
  MySqlClient.Free;
  end;
end;
0

nom Tylko mam jeden problem kiedy zainstaluje ten directsql To go nie ma nigdzie w komponentach co jest ? a i zapomniałem podziękować :>

0

Nie korzystałem z akurat tego komponentu nigdy, ale podejrzewam, że jest to tak jak te z pakietu Synapse - niewizualny. Czyli po zainstalowaniu, dodajesz odpowiedni moduł do sekcji uses, a następnie deklarujesz zmienną odpowiedniego tupu i korzystasz z jej konstruktora aby stworzyć obiekt i później odwołujesz się do niego, tak jak to pokazal kAzek w kodzie powyżej.

0

tak ;D właśnie sprawdziłem i kod zadziałał... Tylko mam jeden problem ponieważ nie rozumiem co mam wpisać w HOST.. ;/ a poza tym ten kod działa ;P

0

CHyba logiczne, w host podajesz adres serwera na którym jest baza, jeżeli jest ona na komputerze, z którego uruchamiaz program - to pewnie, tak jak w przykładzie wystarczy podać localhost.

0

Teraz to mi wyskakuje taki Error Gdy klikam w button:

ERROR: Can't connect to MySQL server on 'www.strona.y0.pl' (0)

wyświetla się to w memo że nie można połączyć się z bazą danych nie wiem czy dobrze wypełniam ten formularz:

const
HOST = 'www.strona.y0.pl';
USER_NAME = 'login';
USER_PASS = 'haslo';
DB_NAME = 'tutaj nazwa bazy';
DB_PORT = 3306;

Proszę o odpowiedzi.

0

Trzeba poszukać na stronie informacji jaki jest adres serwera dla Twojej bazy danych, wątpie aby był taki sam jak adres strony i to jeszcze z "www.", z przodu.

0

wiem to co tam napisałem to bełkot ahh... adres bazy mam stronę na cba i tam pisze tak:
Adres bazy danych: mysql.cba.pl
wpisałem to w host lecz tym razem znów wywala błąd:

ERROR: Can't connect to MySQL server on 'mysql.cba.pl' (0)

co jest grane ? ;o

0

i OCZYWIŚCIE sprawdziłeś wcześniej, czy w ogóle możesz się połączyć z MySQLem z zewnętrznego adresu i OCZYWIŚCIE NIGDZIE NIE PISAŁO, ŻE NIE MOŻESZ...
Normalnie załamać się można jak przez TYDZIEŃ dyskusja toczy się o dupie maryni i trzeba każdą pieprzoną informację wyciągać prawie siłą łaskawego pytacza...

FAQu CBA.PL napisał(a)

Nie mogę połączyć się z bazą danych z zewnętrznego serwera, dlaczego?
Albo nie zmieniłeś w skrypcie adresu bazy danych i próbujesz połączyć się z localhost (a powinieneś z mysql.cba.pl), albo próbujesz połaczyć się z innego serwera www niż tego na cba. Bazy danych nie są dostępne z zewnętrznych serwerów www, zatem nie możesz wrzucić strony na inny hosting i trzymać tylko bazy tutaj.

0

Albo nie zmieniłeś w skrypcie adresu bazy danych
Co ? oco chodzi ? Podałem w host mysql.cba.pl tak jak powinienem i wyskakuje że nie mogę się połączyć z bazą... Czyli co źle robie ?

0

a jeżeli będzie to serwer z proserwer.pl to dam radę ? proszę o odpowiedz.

0

Taaa, myśle sobie baza działa pod PHPAdminem na cba, to co gościowi nie wychodzi i oczywiście to samo wyczytałem w FAQ. Ech, xoxo: ogarnij się!!! I nie pytaj nas czy na serwerze xxxxxx bedzie można się logowac z zewnątrz. Na profesionalnych płatnych serwerach albo vpsach pewnie się da (a na vpsach to na pewno wszystko się da co zgodne z polskim prawem). Skąd tutaj mamy wiedzieć czy się da, nie każdy ma tam konto, nie łatwiej pogooglować lub napisac do supportu?

0

założyłem hosting na friko.pl i tam wszystko ładnie działa dziękuje wszystkim za wparcie i pozdrawiam !

0

teraz jest jedna lipa a więc jeżeli chcę wysłać do bazy pole z edita to wyskakuje mi ten oto błąd:
ERROR: Unknown column 'edit1text' in 'field list' albo jak zmieniam ten jan kowalski na coś innego to wyskoczy mi to:
ERROR: Unknown column 'Michal' in 'field list' oczywiście z tym editem nie daje tak ['edit1.text'])
tylko tak [edit1.text]) i wyskakuje ten błąd... nie wiem oco chodzi ;/

0

Przykro nam.
Wróżka na wakacjach :P
Daj więcej kodu.

0

nie moge dać edita posta więc odpowiem... zmieniałem kod ort! połowe kodu kod teraz wysyła tylko 3 tabele id,imie,nazwisko kod nie działał ort! w tym ("%s", "%s",%d)Było %d zmieniłem to na %s i dodałem " " i działało lecz nie wysyłało tego co potrzeba więc to wywaliłem...i wszystko działa :> temat może zostać bo nie wiem co jeszcze się odwali... :D Pozdrawiam.

1 użytkowników online, w tym zalogowanych: 0, gości: 1