Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Trebam malu pomoć oko povezivanja na bazu

[es] :: C/C++ programiranje :: C/C++ za početnike :: Trebam malu pomoć oko povezivanja na bazu

[ Pregleda: 2171 | Odgovora: 16 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

MarkoBalkan

Član broj: 141124
Poruke: 1624
..143.142-dsl.net.metronet.hr.



+19 Profil

icon Trebam malu pomoć oko povezivanja na bazu28.01.2009. u 10:42 - pre 185 meseci
koristim mysql i borland builder c++ 2009.


našao sam primjere za povezivanje na bazu ali preko gotovih komponenti (SQLconnection, SQLQuery itd...).


dali netko ima primjer kao se ručno spojiti na bazu i prikazati u tablici podatke?



ne znam zašto borland gura te visualne komponente, kao i MS.

to je dobro ukoliko treba nešto na brzinu prikazati u tablici i za jednostavnije stvari.

 
Odgovor na temu

X Files
Vladimir Stefanovic
Pozarevac

SuperModerator
Član broj: 15100
Poruke: 4902
*.tekostolac.co.yu.

Jabber: xfiles@elitesecurity.org


+638 Profil

icon Re: Trebam malu pomoć oko povezivanja na bazu28.01.2009. u 10:50 - pre 185 meseci
Ako znas kako da se povezes na bazu preko vizualnih komponenti, onda nisi daleko i od 'rucnog' nacina. Sve u BCB se moze resiti i dinamicki:
Code:

TNekaKomponenta *Pokazivac = new TNekaKomponenta( this /* ili neki drugi argumenti */ );
// ...
Pokazivac->NekaOsobina1=...
Pokazivac->NekaOsobina2=...
Pokazivac->ConnectionString =...
// ... 
Pokazivac->Dogadjaj1 = MojDogadjaj1; // <--- funkcija koja ima iste argumente i povratnu vrednost kao i dogadjaj komponente
//  ...
Pokazivac->Open();
//  ...
delete *Pokazivac;


Probaj, pa javi ako zapne...
 
Odgovor na temu

X Files
Vladimir Stefanovic
Pozarevac

SuperModerator
Član broj: 15100
Poruke: 4902
*.tekostolac.co.yu.

Jabber: xfiles@elitesecurity.org


+638 Profil

icon Re: Trebam malu pomoć oko povezivanja na bazu28.01.2009. u 11:06 - pre 185 meseci
Da dodam, vizuelnim kontrolama (gridovi i sl), da bi bile vidljive treba da dodelis i Parent-a.
Pokazivac->Parent = Form1; // <--- Pridruženo formi
Pokazivac->Parent = Panel1; // <--- Pridruženo Panelu
Pokazivac->Parent = TabSheet1; // <--- Pridruženo nekoj kartici

 
Odgovor na temu

MarkoBalkan

Član broj: 141124
Poruke: 1624
..143.142-dsl.net.metronet.hr.



+19 Profil

icon Re: Trebam malu pomoć oko povezivanja na bazu28.01.2009. u 12:01 - pre 185 meseci
Code:


String st;
st="Server=localhost;Database=proba;User name=root;Password=123;";

TSQLConnection  *ts=new TSQLConnection(this);
TSQLQuery *tq=new TSQLQuery(this);
TSQLDataSet *td;

ts->DriverName="MySql";
ts->dodijeliti string za konekciju ;
tq->SQLConnection=ts;
tq-> SQL->ToString()= "select * from prva";
td->SQLConnection=ts;

ts->Open();

ts->Close();




ne znam dalje kako povezati query, konekciju, napuniti dataset i dataset prikazati u tablici tj.
DBGrid1->DataSource=td, kao što je kod .net-a
konekcija, dataadapter, datatable ili dataset.

jedino tablicu imam na formi

mislim da bude nešto od mene.




[Ovu poruku je menjao MarkoBalkan dana 28.01.2009. u 13:32 GMT+1]
 
Odgovor na temu

MarkoBalkan

Član broj: 141124
Poruke: 1624
..143.142-dsl.net.metronet.hr.



+19 Profil

icon Re: Trebam malu pomoć oko povezivanja na bazu28.01.2009. u 12:48 - pre 185 meseci
kad stavim query komponentu na formu i probam se spojiti javi grešku
Prikačeni fajlovi
 
Odgovor na temu

X Files
Vladimir Stefanovic
Pozarevac

SuperModerator
Član broj: 15100
Poruke: 4902
*.dynamic.sbb.rs.

Jabber: xfiles@elitesecurity.org


+638 Profil

icon Re: Trebam malu pomoć oko povezivanja na bazu28.01.2009. u 17:02 - pre 185 meseci
Ok, evo napravio sam parce koda koje treba da pokaze kako se dinamicki kreiraju sve komponente i sta se s cime spaja. Sve je u dodatku (za BCB2009 koji koristis).

Primer je za pristup i pretragu lokalne MDB baze, koja treba da bude tamo gde je i EXE, ali princip je potpuno isti i za uspostavljanje drugih konekcija.

SCREENSHOT:



--- H ---
Code:

//---------------------------------------------------------------------------

#ifndef Unit1H
#define Unit1H
//---------------------------------------------------------------------------
#include <Classes.hpp>
#include <Controls.hpp>
#include <StdCtrls.hpp>
#include <Forms.hpp>
#include <ADODB.hpp>
#include <DB.hpp>
#include <DBGrids.hpp>
#include <Grids.hpp>
//---------------------------------------------------------------------------
class TForm1 : public TForm
{
__published:    // IDE-managed Components
private:    // User declarations
public:        // User declarations
    __fastcall TForm1(TComponent* Owner);

    __fastcall ~TForm1();
    TPanel *pPanel;
    TEdit *pEdit;
    void __fastcall Moj_pEditChange(TObject *Sender);
    void __fastcall Moj_pFormActivate(TObject *Sender);

    TADOConnection *pADOConnection;
    TADOQuery *pADOQuery;
    TDataSource *pDataSource;
    TDBGrid *pDBGrid;
    TDBNavigator *pDBNavigator;
};
//---------------------------------------------------------------------------
extern PACKAGE TForm1 *Form1;
//---------------------------------------------------------------------------
#endif


--- CPP ---
Code:

//---------------------------------------------------------------------------

#include <vcl.h>
#pragma hdrstop

#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
    : TForm(Owner)
{
    // Forma
    Height = 600;
    Width = 800;
    Position = poDesktopCenter;
    OnActivate = Moj_pFormActivate;

    // Panel
    pPanel = new TPanel( this );
    pPanel->Parent = this;
    pPanel->Width = 40;
    pPanel->Align = alTop;

    // Edit na panelu
    pEdit = new TEdit( this );
    pEdit->Parent = pPanel;
    pEdit->Left = 8;
    pEdit->Top = 10;
    pEdit->OnChange = Moj_pEditChange;

    // Navigator na panelu
    pDBNavigator = new TDBNavigator( this );
    pDBNavigator->Parent = pPanel;
    pDBNavigator->Left = pEdit->Left + pEdit->Width + 8;
    pDBNavigator->Top = 8;

    // Grid na formi
    pDBGrid = new TDBGrid( this );
    pDBGrid->Parent = this;
    pDBGrid->Align = alClient;

    // Konekcija na bazu
    pADOConnection = new TADOConnection( this );
    pADOConnection->ConnectionString =
        "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" +
        ExtractFilePath( Application->ExeName )+
        "baza.mdb;Persist Security Info=False";
    pADOConnection->LoginPrompt = false;
    pADOConnection->Connected = true;

    // Upit
    pADOQuery = new TADOQuery( this );
    pADOQuery->Connection = pADOConnection;

    // Veza izmenju podataka i vizuelnih kontrola
    pDataSource = new TDataSource( this );
    pDataSource->DataSet = pADOQuery;

    pDBGrid->DataSource = pDataSource;
    pDBNavigator->DataSource = pDataSource;


}
__fastcall TForm1::~TForm1()
{
    // Ovo direktno oslobadjanje nije neophddno, jer se u VCL...
    // ... objekti kojima je postavljen Owner ili Parent unistavaju automatski
    // Ako se ipak oslobadja rucno, treba voditi racuna o redosledu

    if ( pEdit )
        delete pEdit;

    if ( pDBNavigator )
        delete pDBNavigator;

    if ( pPanel )
        delete pPanel;

    if ( pDBGrid )
        delete pDBGrid;

    if ( pADOQuery )
        delete pADOQuery;

    if ( pDataSource )
        delete pDataSource;

    if ( pADOConnection )
        delete pADOConnection;

}
//---------------------------------------------------------------------------

void __fastcall TForm1::Moj_pFormActivate(TObject *Sender)
{
    Moj_pEditChange( this );
}
void __fastcall TForm1::Moj_pEditChange(TObject *Sender)
{
    pADOQuery->Close();
    pADOQuery->SQL->Clear();
    UnicodeString Upit = "SELECT * FROM rasa WHERE naziv_lok LIKE '%" + pEdit->Text + "%'";
    pADOQuery->SQL->Add( Upit );
    pADOQuery->Open();

    pDBGrid->Columns->Items[0]->Width  = 30*8;
    pDBGrid->Columns->Items[1]->Width  = 30*8;
}

Prikačeni fajlovi
 
Odgovor na temu

MarkoBalkan

Član broj: 141124
Poruke: 1624
..141.248-dsl.net.metronet.hr.



+19 Profil

icon Re: Trebam malu pomoć oko povezivanja na bazu28.01.2009. u 17:50 - pre 185 meseci
puno zahvaljujem, sve radi.

samo da riješim još ovo sa myslq-om, nešto me zajebava.
 
Odgovor na temu

X Files
Vladimir Stefanovic
Pozarevac

SuperModerator
Član broj: 15100
Poruke: 4902
*.dynamic.sbb.rs.

Jabber: xfiles@elitesecurity.org


+638 Profil

icon Re: Trebam malu pomoć oko povezivanja na bazu28.01.2009. u 17:57 - pre 185 meseci
Par saveta:

- Sve pokazivace na buduce objekte, koje ces dinamicki kreirati, stavi u H fajl, recimo u private ili public sekciju
- Kreiranje objekata mozes uraditi u konstruktoru
- Inicijalizaciju pocetnih parametara takodje u konstruktoru
- Unistavanje nije potrebno, vec sam objasnio
- Vodi racuna kog su tipa Osobine (Properties) koje je potrebno vezati za druge objekte, jer ti to upravo govori STA treba vezati.

 
Odgovor na temu

MarkoBalkan

Član broj: 141124
Poruke: 1624
..141.248-dsl.net.metronet.hr.



+19 Profil

icon Re: Trebam malu pomoć oko povezivanja na bazu28.01.2009. u 18:09 - pre 185 meseci
a ako se spajam na mysql , onda mu moram dodijelit ime drivera i ostalo šta treba?
 
Odgovor na temu

X Files
Vladimir Stefanovic
Pozarevac

SuperModerator
Član broj: 15100
Poruke: 4902
*.dynamic.sbb.rs.

Jabber: xfiles@elitesecurity.org


+638 Profil

icon Re: Trebam malu pomoć oko povezivanja na bazu28.01.2009. u 18:25 - pre 185 meseci
Ako imas kod koji radi (podeseno u dizajneru), prvo pribelezi sta je sve menjano (podesavano) na svakom objektu u sistemu. Sve to treba preslikati u run-time verziju.

Ako je DRAJVER podesen u designtime-u, naravno da ga treba podesiti i u run-time-u.
 
Odgovor na temu

X Files
Vladimir Stefanovic
Pozarevac

SuperModerator
Član broj: 15100
Poruke: 4902
*.dynamic.sbb.rs.

Jabber: xfiles@elitesecurity.org


+638 Profil

icon Re: Trebam malu pomoć oko povezivanja na bazu28.01.2009. u 18:28 - pre 185 meseci
Ovde imas neki primer:
http://www.baghli.com/bcb_mysql.html
 
Odgovor na temu

MarkoBalkan

Član broj: 141124
Poruke: 1624
..141.248-dsl.net.metronet.hr.



+19 Profil

icon Re: Trebam malu pomoć oko povezivanja na bazu28.01.2009. u 18:32 - pre 185 meseci
imam to.to sam baš jučer počeo malo proučavati.

koliko je BCB zastupljen u praksi?
tj. koliko se koristi?

 
Odgovor na temu

X Files
Vladimir Stefanovic
Pozarevac

SuperModerator
Član broj: 15100
Poruke: 4902
*.dynamic.sbb.rs.

Jabber: xfiles@elitesecurity.org


+638 Profil

icon Re: Trebam malu pomoć oko povezivanja na bazu28.01.2009. u 18:40 - pre 185 meseci
Slabo (spram kvaliteta, po mom misljenju).
 
Odgovor na temu

MarkoBalkan

Član broj: 141124
Poruke: 1624
..141.248-dsl.net.metronet.hr.



+19 Profil

icon Re: Trebam malu pomoć oko povezivanja na bazu28.01.2009. u 18:54 - pre 185 meseci

Citat:
X Files: Slabo (spram kvaliteta, po mom misljenju).


ne kužim ovo!
nije kvalitetan ili?
 
Odgovor na temu

X Files
Vladimir Stefanovic
Pozarevac

SuperModerator
Član broj: 15100
Poruke: 4902
*.dynamic.sbb.rs.

Jabber: xfiles@elitesecurity.org


+638 Profil

icon Re: Trebam malu pomoć oko povezivanja na bazu28.01.2009. u 19:25 - pre 185 meseci
Ma ne... BCB je po mom misljenju odlican, pre svega zbog VCL biblioteke, ali jednostavno nisu uspeli da se prosire po trzistu iz puno razloga, da sad ne polemisemo o tome...
 
Odgovor na temu

MarkoBalkan

Član broj: 141124
Poruke: 1624
..141.248-dsl.net.metronet.hr.



+19 Profil

icon Re: Trebam malu pomoć oko povezivanja na bazu28.01.2009. u 19:36 - pre 185 meseci
čuo sam da postoji kolekcija vcl biblioteka za delphi koje su skupili programeri. 2 ili 3 cd-a ako ne i više
vjerojatno bi radilo i s bcb-om.

pa me zanima ako netko zna šta više o tome?


 
Odgovor na temu

X Files
Vladimir Stefanovic
Pozarevac

SuperModerator
Član broj: 15100
Poruke: 4902
*.dynamic.sbb.rs.

Jabber: xfiles@elitesecurity.org


+638 Profil

icon Re: Trebam malu pomoć oko povezivanja na bazu28.01.2009. u 19:46 - pre 185 meseci
Postoji hiljade na hiljade gotovih 3rd party komponenti za Delphi i BCB. Mnoge su besplatne ali mnoge su i komercijalne.

Problem je sto ne postoji potpuna kompatibilnost izmedju Delphi-ja i BCB-a, cak ne postoji ni izmedju razlicitih verzija istog proizvoda.

Koliko sam u toku, u CodeGear-u rade na tome da se uspostavi 100% kompatibilnost izmedju Delphi i BCB komponenti. To ce biti ono pravo.


 
Odgovor na temu

[es] :: C/C++ programiranje :: C/C++ za početnike :: Trebam malu pomoć oko povezivanja na bazu

[ Pregleda: 2171 | Odgovora: 16 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.