Bazy danych w Delphi

AU
  • Rejestracja:około 22 lata
  • Ostatnio:około 14 lat
0

Witam!

Czy ktos moze polecic jakies dobre strony (niekoniecznie polskie) o tworzeniu baz danych w Delphi?

Vendro
  • Rejestracja:ponad 22 lata
  • Ostatnio:około rok
0

Zapraszam na: <url>www.torry.net</url>

KA
  • Rejestracja:około 22 lata
  • Ostatnio:ponad 4 lata
  • Postów:137
0

Podłączę się pod wątek z innym pytaniem:

Jakich baz radzcie używać, przy założeniu, że ma być najlepiej darmowa, aby nie było to dodatkowym kosztem.

Ja wstępnie do jednego tematu użyłem sobie bazy Access-owej i lączę się do niej przez ODBC, ale pieszę z myślą o ewentualnej zmianie, więc odzielam całą warstwę bazy w oddzielnym module.
A jak już zostaję przy Accessie to czy musi być to przez ODBC, może inaczej można.

Kris


Kris
joniu
  • Rejestracja:ponad 22 lata
  • Ostatnio:ponad 6 lat
0

Polecam bazę danych mySQL (www.mysql.com)
a z połączeniem tego do Delphi to albo poprzez ODBC dla mySQL (też darmowe na tej samej stronie) i wtedy możesz się łączyć z tąbazą poprzez zwykłe komponenty TTable, TDatabase.
Albo użyć na przykład komponenty Zeoesa (WinZeos bodajże się nazywają) i wtedy łączysz się bezpośrednio z serwerem mySQL-a.

Wszystkie tutaj programy są darmowe, tylko nie wiem jak to jest z tymi komponentami zeoesa - czy sa darmowe dla zastosowań komercyjnych? Nie wiem

[cya]

Igorz
  • Rejestracja:ponad 22 lata
  • Ostatnio:ponad 19 lat
  • Postów:278
0

O ile mi wiadomo to Zeosy są i na kylixa i delphi (z wyjatkiem 7 chyba) na licencji GNU o ile wiem. Co oznacza że masz ich xródła itp ale co do zastosowań to poczytaj sobie licencję.


Nie bądz lama w strzelankach online nie uzywaj self killa w duelu :P
Dryobates
  • Rejestracja:prawie 23 lata
  • Ostatnio:około 6 lat
0

Jak dla mnie to najprostszą i najwygodniejszą bazą była dBase. Z Accessem mam niemiłe wspomnienia. Z MySQL jeszcze się nie bawiłem. Jednak przy większości baz najwygodniej jest korzystać z ODBC (lub BDE).
A co do pomocy na temat baz to jest lista dyskusyjna (chyba pl.comp.lang.delphi.bazy-danych).

P. S. Fajny Muminek, tzn. koń :)


Jest jeszcze jeden błąd :)
Unix is user friendly. It's just very particular about who it's friends are.
UnDeaD
  • Rejestracja:około 22 lata
  • Ostatnio:prawie 13 lat
0

Access tak ja tez mam niemiłe wspomnienia, ktore na dodatek nadal mnie nachodza i chyba zrobie ostry upgrade programu plus konverter na cos bardziej przyziemnego np dBase


<font color="#FF0000"> Jestem po tej i po tamtej stronie... </span> albo na tej
G2
  • Rejestracja:ponad 22 lata
  • Ostatnio:około 14 lat
  • Postów:77
0

ja uzywam od ponad 9 miesiecy mysql-a i sobie bardzo chwale, poza tym jezeli ktos chce to mam zeosa do D7


"...tylko dwie rzeczy są nieskonczone, wszechświat i ludzka głupota, lecz co do tej pierwszej nie mam pewności..."
UnDeaD
  • Rejestracja:około 22 lata
  • Ostatnio:prawie 13 lat
0

ja uzywam od ponad 9 miesiecy mysql-a i sobie bardzo chwale, poza tym jezeli ktos chce to mam zeosa do D7

problem z mysql jest taki ze trzeba instalować server wraz z programem na komputerze z ktorego chcemy korzystac :( a komputer np nie jest podpięty do sieci


<font color="#FF0000"> Jestem po tej i po tamtej stronie... </span> albo na tej
0

Co do tego zeosa do d7 do mogł bys go wyslac pod maila sniper1993@tlen.pl
Z gory thx przyda mi sie :D

RH
  • Rejestracja:ponad 21 lat
  • Ostatnio:ponad 16 lat
0
UnDe@D napisał(a)

ja uzywam od ponad 9 miesiecy mysql-a i sobie bardzo chwale, poza tym jezeli ktos chce to mam zeosa do D7

problem z mysql jest taki ze trzeba instalować server wraz z programem na komputerze z ktorego chcemy korzystac :( a komputer np nie jest podpięty do sieci

Niestety, większość baz mysql nie umożliwia dostępu zdalnego, czyli nie mozemy się polaczyc z naszego zrobionego programu np. do bazy na lycosie, zeby program potestowac :(

CR
  • Rejestracja:ponad 19 lat
  • Ostatnio:prawie 19 lat
0
UnDe@D napisał(a)

problem z mysql jest taki ze trzeba instalować server wraz z programem na komputerze z ktorego chcemy korzystac :( a komputer np nie jest podpięty do sieci

Niekoniecznie. Po długich zmaganiach udało mi się tak skonstruować program, żeby automatycznie uruchamiał sobie własny serwer mysql. Oto, co powinieneś zrobić:

  1. W katalogu głównym programu umieść katalog np. "data" i wrzuć do niego następujące pliki z katalogu mysql-a:
  • cały podkatalog "share" (o dziwo, niezbędne),
  • podkatalog "bin", a w nim:
    1. cygwinb19.dll,
    2. libmysql.dll,
    3. mysqld-nt.exe,
  • podkatalog "data", w nim znajdują się wszystkie bazy.
  1. Serwerem jest de facto proces mysqld-nt.exe, uruchomiony z parametrem --standalone. W programie uruchamiasz go np. tak:
Kopiuj
ShellExecute(self.Handle, nil, 'data\bin\mysqld-nt.exe', '--standalone', nil, SW_HIDE);

Od tej pory możesz łączyć się z bazą, osobiście pracuję na najprostszym chyba z możliwych module TSimpleMySQL. Jest do ściągnięcia tutaj:
http://4programmers.net/file.php?id=1564

  1. Trochę zabawy jest z późniejszym zabiciem tak uruchomionego procesu. U mnie wygląda to tak:
Kopiuj
procedure StopMySQL;
// sprawdz, czy serwer MySQL jest juz uruchomiony. Jesli tak - zamknij go.
type
  pr = record
    nazwa  : string;
    uchwyt : THandle;
  end;

var handler : THandle;
    data    : TProcessEntry32;
    p       : pr;
    uchwyt  : THandle;

  function GetName : pr;
  var i : byte;
  begin
     i := 0;
     Result.nazwa := '';
     while data.szExeFile[i] <> '' do
     begin
        Result.nazwa := Result.nazwa + data.szExeFile[i];
        Result.uchwyt := data.th32ProcessID;
        Inc(i);
     end;
   end;

begin
  handler := CreateToolhelp32Snapshot(TH32CS_SNAPALL, 0);
  if Process32First(handler, data) then
  begin
    while Process32Next(handler, data) do
       begin
       p := GetName();
       if p.nazwa = 'mysqld-nt.exe' then
        begin
          uchwyt := OpenProcess(PROCESS_TERMINATE,bool(0),p.uchwyt);
          TerminateProcess(uchwyt,0);
          CloseHandle(uchwyt);
        end;
       end;
   end
   else
      ShowMessage('Error');

end;

Jeśli ktoś zna prostszy sposób, będę zachwycony, jeśli zechce podzielić się swoją wiedzą :) .

...voila. Wszystko śmiga. Dzięki temu rozwiązaniu nie musisz się martwić ani instalacją serwera, ani zgodnością wersji (bodajże od 5.0 wprowadzono haszowanie haseł... Dobrze myślę? To trochę komplikuje sprawę), ani konfiguracją baz. Po prostu wraz z programem załączasz wyżej wymienione pliki, w katalogu "data\data" umieszczasz gotową, spreparowaną, czystą bazę.

Pozdrawiam,
Creep

SH
  • Rejestracja:około 21 lat
  • Ostatnio:ponad 13 lat
  • Postów:556
0

czy "mysqld-nt.exe" bedzie dzialac na windowsie 98 ?

Jesli jest plik Windows/my.ini to korzysta ze sceizek w nim zawartych, czy da sie zrobic by korzystal z mojego my.ini ?? gdy usune my.ini z katalogu WINDOWSA to wszystko jest ok. ale to nie jest wyjscie bo wtedy prawdziwy mysql mi nie dziala:p


CR
  • Rejestracja:ponad 19 lat
  • Ostatnio:prawie 19 lat
0
shivanwk napisał(a)

czy "mysqld-nt.exe" bedzie dzialac na windowsie 98 ?

Szczerze powiedziawszy, to nie wiem. Sprawdź. Jeśli nie, spróbuj uruchomić inny plik, np. mysqld.exe.

shivanwk napisał(a)

Jesli jest plik Windows/my.ini to korzysta ze sceizek w nim zawartych, czy da sie zrobic by korzystal z mojego my.ini ?? gdy usune my.ini z katalogu WINDOWSA to wszystko jest ok. ale to nie jest wyjscie bo wtedy prawdziwy mysql mi nie dziala:p

Spróbuj utworzyć własny plik my.ini i umieścić go w katalogu programu / którymś z podkatalogów. Wszystko zależy od ścieżki przeszukiwania. Jeśli mysql zawsze zaczyna od folderu windowsa, jedyną radą będzie zmiana nazwy pliku w przypadku, gdy będziesz chciał uruchomić serwer dopinany do swojej aplikacji :) .

Pozdrawiam,
Creep

0

Pogoogluj nt MyLittleBase. Prosciutka baza oparta o pliki CSV (format arkusza kalkulacyjnego, dane oddzielane przecinkami, latwa edycja np z OpenOffice lub Excela). Baza jest 100% standalone, nie wymaga BDE, nie wymaga zadnych serwerow. Jest dolaczony do nie modul eksperymentalny z obsluga zapytan w jezyku SQL. Oczywiscie wszystko freeware. Trafilem na to przypadkiem i uzywam w jednym projekcie. Jak dotad bez najmniejszych problemow. Jedna podpowiedz - baza nie uzyskuje dostepu do aktualnie otwartego pliku CSV wiec uwaga podczas testow, gdy np arkusz csv masz otwarty w excelu i jednoczesnie uruchamiasz program, ktory pobiera dane z tego pliku.

Pozdrawiam.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.