Drugie memo w bazie

Problemy związane z tworzeniem i zarządzaniem programami bazo-danowymi.
Regulamin działu


Zadając pytania dotyczące baz danych należy podawać szczegółowe informacje o bazie danych nad którą się pracuje, czyli:

  • Rodzaj serwera bazodanowego: MySql, MSSQL, Oracle itp.
  • Wersja bazy danych
  • Technologia bazodanowa używana w programie: ADO, DbExpress, InterBase
  • Komponenty użyte do zestawienia połączenia: ADOConnection, SqlConnection
  • Sposób zestawienia komponentów bazodanowych np. DataSet - DataSource - DbGrid lub DataSet - DataSetProvider - ClientDataSet - DataSource - DbGrid
  • Jeżeli używane były biblioteki innych firm niż Borland, CodeGeer i Embarcadero proszę podać ich nazwy, numer wersji i adres źródła.

Drugie memo w bazie

Nowy postprzez mani » niedziela, 31 maja 2009, 18:30

Witam.

Zgodnie z poradami zrobiłem program opierający się na bazie danych. Chciałbym jednak umieścić w nim drugi komponent memo, który także byłby częścią bazy, a nie za bardzo mi wychodzi. Jak to zrobić?
;]
Avatar użytkownika
mani
Bladawiec
Bladawiec
 
Posty: 24
Dołączył(a): niedziela, 15 marca 2009, 20:55
Podziękował : 0
Otrzymał podziękowań: 0
    NieznanyNieznana

Re: Drugie memo w bazie

Nowy postprzez Ho88it » poniedziałek, 1 czerwca 2009, 18:43

Czyli chcesz aby w jednym rekordzie wyświetlało dane np: z memo1 i memo2?
Najlepszy sterownik bazy do takich sztuczek to PARADOX. Możesz w nim dać nawet fotki w rekordzie.

Ta porada przez którą robisz swoją bazę jest jak dla mnie toporna (bez urazy dla nikogo). Wyważamy otwarte drzwi ale można się przy tym bardzo dużo nauczyć. Tylko że tak jak zostało to tam przedstawione, może boleśnie odbić się później podczas rozwijania programu :P

Opisz co chcesz dokładnie mieć to pomogę..
Internet Explorer to program, który służy do przeglądania internetu z twojego komputera i na odwrót.
Avatar użytkownika
Ho88it
Homos antropiczny
Homos antropiczny
 
Posty: 63
Dołączył(a): niedziela, 10 sierpnia 2008, 20:53
Podziękował : 2
Otrzymał podziękowań: 0
System operacyjny: brak systemu
Kompilator: Visual Studio 2008
Visual Studio 2010
Gadu Gadu: 0
    NieznanyNieznana

Re: Drugie memo w bazie

Nowy postprzez mani » poniedziałek, 1 czerwca 2009, 19:06

Na stronie opisane jest jak zrobić bazę. Jest tam użyty komponent String Grid oraz komponent Memo. Chciałbym w StringGridzie mieć jedną kolumnę, w której byłaby nazwa. Do każdej nazwy chciałbym móc dodać 2 informację. Jedną chcę umieścić w obiekcie Memo1 (który już jest), a drugą w Memo2 (który chcę utworzyć), tak aby funkcjonalność pozostała taka sama.

I jeszcze takie drugie pytanie, mniej związane z Memo. Jak utworzyć nową kolumnę, która będzie automatycznie nadawała numer porządkowy według wiersza.
;]
Avatar użytkownika
mani
Bladawiec
Bladawiec
 
Posty: 24
Dołączył(a): niedziela, 15 marca 2009, 20:55
Podziękował : 0
Otrzymał podziękowań: 0
    NieznanyNieznana

Re: Drugie memo w bazie

Nowy postprzez Ho88it » poniedziałek, 1 czerwca 2009, 21:51

Co do dodawania kolumn teoretycznie takie coś powinno działać
Kod: Zaznacz cały
StringGrid1->Cols[4]->Insert(4,"nowa_kolumna");
ale nie działa i pewnie działać nie będzie choć funkcja wyraźnie do tego służy. Chyba, że robię coś nie tak. Ale komunikat jaki zgłasza program mówi wszystko:
Cannot insert or delete rows from grid.
Czyli kicha z dodawaniem kolumn. Chyba że tak:

Kod: Zaznacz cały
StringGrid1->ColCount=StringGrid1->ColCount+1;

Przyjmując że Lp. stoi przeważnie z lewej strony to wszystkie dane musiały by zostać przesunięte w prawo (niezła pętla by wyszła).Tak że nie za bardzo...

Kod: Zaznacz cały
void __fastcall TForm2::StringGrid1Click(TObject *Sender)
{
for (int i = 0; i <= StringGrid1->RowCount; i++) //ten kod tylko wstawia Lp. nie przesuwając danych
{ StringGrid1->Cells[0][i]=i;}
}

Jednym słowem da rade to zrobić ale pętle zeżrą lwią część czasu aplikacji stale zwalniając przy dopisywaniu nowych danych. Nie wiem czy to dobry pomysł..
Internet Explorer to program, który służy do przeglądania internetu z twojego komputera i na odwrót.
Avatar użytkownika
Ho88it
Homos antropiczny
Homos antropiczny
 
Posty: 63
Dołączył(a): niedziela, 10 sierpnia 2008, 20:53
Podziękował : 2
Otrzymał podziękowań: 0
System operacyjny: brak systemu
Kompilator: Visual Studio 2008
Visual Studio 2010
Gadu Gadu: 0
    NieznanyNieznana

Re: Drugie memo w bazie

Nowy postprzez mani » poniedziałek, 1 czerwca 2009, 21:57

No to może inaczej. W tym skrypcie, w Formie gdzie dodaję dane do Memo, pokazuje się Combobox. W nim wybieram, do którego wiersza mam to przypisać. Jak zrobić, żeby zamiast numeru wiersza wyświetlał treść pierwszej komórki z tego wiersza ;]

No i do tego ponawiam pytanie o to drugie memo ;]
;]
Avatar użytkownika
mani
Bladawiec
Bladawiec
 
Posty: 24
Dołączył(a): niedziela, 15 marca 2009, 20:55
Podziękował : 0
Otrzymał podziękowań: 0
    NieznanyNieznana

Re: Drugie memo w bazie

Nowy postprzez mani » środa, 3 czerwca 2009, 22:49

Żeby nie tworzyć nowego tematu. Nie działa za dobrze tamten kod ze strony głównej. Podczas wpisywania nowej notatki, w Comboboksie wyświetlającym wiersze, są one podwojone. I nie jest to chyba błąd w przepisaniu kodu, bo ściągałem też gotowe pliki i tam też jest ten problem. Umiałby to ktoś naprawić? Ponadto przy próbie odczytu bazy pojawia mi się komunikat Grid index out of range. Oznacza to, że baza jest uszkodzona?
;]
Avatar użytkownika
mani
Bladawiec
Bladawiec
 
Posty: 24
Dołączył(a): niedziela, 15 marca 2009, 20:55
Podziękował : 0
Otrzymał podziękowań: 0
    NieznanyNieznana

Re: Drugie memo w bazie

Nowy postprzez Cyfrowy Baron » czwartek, 4 czerwca 2009, 08:32

Baza danych zaprezentowana w dziale kursy praktyczne, miała tylko na celu naukę programowania dla początkujących, jest niedopracowana i nie bardzo nadaje się na stworzenie w pełni funkcjonalnego programu bazodanowego. Silnik bazy to klasa TDataBase i w tej klasie należy dokonywać modyfikacji.
Avatar użytkownika
Cyfrowy Baron
Administrator
Administrator
 
Posty: 4719
Dołączył(a): niedziela, 13 lipca 2008, 15:17
Podziękował : 12
Otrzymał podziękowań: 442
System operacyjny: Windows 7 x64 SP1
Kompilator: Embarcadero RAD Studio XE2
C++ Builder XE2 Update 4
SKYPE: cyfbar
Gadu Gadu: 0
    NieznanyNieznana

Re: Drugie memo w bazie

Nowy postprzez Ho88it » czwartek, 4 czerwca 2009, 10:20

Jak tak bardzo Ci zależy na Memo w bazie danych to użyj PARADOX'a. Tam nawet pliki graficzne można wstawić do rekordu..
Internet Explorer to program, który służy do przeglądania internetu z twojego komputera i na odwrót.
Avatar użytkownika
Ho88it
Homos antropiczny
Homos antropiczny
 
Posty: 63
Dołączył(a): niedziela, 10 sierpnia 2008, 20:53
Podziękował : 2
Otrzymał podziękowań: 0
System operacyjny: brak systemu
Kompilator: Visual Studio 2008
Visual Studio 2010
Gadu Gadu: 0
    NieznanyNieznana


  • Podobne tematy
    Odpowiedzi
    Wyświetlone
    Ostatni post

Powrót do Bazy danych

Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zalogowanych użytkowników i 1 gość