Exemplu de Databinding in c++\cli

Intrebari despre limbajul C++/CLI (si versiunile mai vechi MC++), applicatii mixed-mode sau probleme specifice .NET legate de C++.
rdenis
Membru
Membru
Posts: 50
Joined: 10 Apr 2010, 20:16
Judet: Iaşi

Exemplu de Databinding in c++\cli

Post by rdenis » 17 May 2010, 17:15

salut...incerc sa fac un simplu databind la un listbox prin VC++ 2008 EXPRESS insa la DATA SOURCE CONFIG WIZARD nu imi apare decat OBJECT. este vreo problema cu setup-ul? SQLSERVER 2008 este instalat si el iar DB-ul l-am facut prin VISUALSTUDIO.



best regards,
Denis



User avatar
Silviu Ardelean
Senior
Senior
Posts: 1175
Joined: 12 Jul 2007, 09:22
Judet: Timiş
Location: Timisoara
Contact:

Re: Exemplu de Databinding in c++\cli

Post by Silviu Ardelean » 17 May 2010, 17:23

Controlul listbox default e prea simplu pentru a oferi support activex ptr. databinding. Foloseste un grid control.

rdenis
Membru
Membru
Posts: 50
Joined: 10 Apr 2010, 20:16
Judet: Iaşi

Re: Exemplu de Databinding in c++\cli

Post by rdenis » 17 May 2010, 23:18

din pacate nici gridview nu imi ofera posibilitatea de a ma conecta la un db...in DATA SOURCE WIZARD nu imi apare decat OBJECT nu si DATABASE cum ar aparea in C#..vreo idee de ce?

neagu_laurentiu
Membru++
Membru++
Posts: 919
Joined: 23 Jul 2007, 11:32

Re: Exemplu de Databinding in c++\cli

Post by neagu_laurentiu » 18 May 2010, 05:38

Toaza ziua WIZARD ! Da' cod mai scrie cineva ?! Ce clase/metode/proprietati lipsesc in C++/CLI fata de C# ? Nici una.

rdenis
Membru
Membru
Posts: 50
Joined: 10 Apr 2010, 20:16
Judet: Iaşi

Re: Exemplu de Databinding in c++\cli

Post by rdenis » 18 May 2010, 09:42

buna laurentiu....nu mai fi suparat pe wizard ca nu este el vinovat ca eu sunt incepator si abia acuma invat :)....daca ai un link catre ceva cod din care sa invat e bine venit, sau poate imi poti oferi tu cateva randuri de cod, nu ma supar.... :whorship:
Idee e ca vreau sa invat insa ceea ce gasesc pe net nu ma ajuta la nimic :(
Regards,
Denis
A beginner in Visual C++(/CLI)

neagu_laurentiu
Membru++
Membru++
Posts: 919
Joined: 23 Jul 2007, 11:32

Re: Exemplu de Databinding in c++\cli

Post by neagu_laurentiu » 18 May 2010, 09:55

WinForms sau WPF ?

rdenis
Membru
Membru
Posts: 50
Joined: 10 Apr 2010, 20:16
Judet: Iaşi

Re: Exemplu de Databinding in c++\cli

Post by rdenis » 18 May 2010, 10:25

Winforms ca raman inca classic :)
ps: daca ai cum sa-mi dai vreun exemplu si de conexiune ODBC folosind WTL (stiu asta e pt alta locatie dar daca tot suntem la BD :) )

Mersi,
Denis

neagu_laurentiu
Membru++
Membru++
Posts: 919
Joined: 23 Jul 2007, 11:32

Re: Exemplu de Databinding in c++\cli

Post by neagu_laurentiu » 18 May 2010, 11:16

Uite un ex. pe Access cu OleDb. La fel de bine poti cu orice tehnologie din ADO.NET

Code: Select all

using namespace System::Data::OleDb;
...
OleDbConnection^ c = gcnew OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\\...\\myDB.MDB;Jet OLEDB:Database Password=***;");
c->Open();
DataTable^ t = gcnew DataTable();
OleDbDataAdapter^ a = gcnew OleDbDataAdapter("SELECT nume+prenume AS denumire FROM personal", c);
a->Fill(t);

this->listBox1->DataSource = t;
this->listBox1->DisplayMember = "denumire";

c->Close();
Cine e WTL ?! (eu stiu)

rdenis
Membru
Membru
Posts: 50
Joined: 10 Apr 2010, 20:16
Judet: Iaşi

Re: Exemplu de Databinding in c++\cli

Post by rdenis » 18 May 2010, 11:38

Pt WTL ma intereseaza in C/C++...e pt un alt proiect pt care imi trebuie aplicatia sa nu depinda de DLL-uri externe precum MFC sau .Net

Si eu stiu :) (Windows Template Library)...Stiu ca aceaste template-uri sunt mai mult pt interfata probabil de aceea nu prea gasesc src....

multumesc pt src....abia astept sa-l incerc (pe un sqlserver express 2008 :))

neagu_laurentiu
Membru++
Membru++
Posts: 919
Joined: 23 Jul 2007, 11:32

Re: Exemplu de Databinding in c++\cli

Post by neagu_laurentiu » 18 May 2010, 11:46

La mine apare Database in Wizard-ul cu pricina !
Pot sa-ti sau exemple pe ODBC in MFC sau .NET. Tu vrei sa legi o susa de date la un control via WTL ? Nu ma pricep, nu e relevat pentru cariera mea...
MFC poate fi incapsulat fara sa depinzi de .dll-uri. Si daca depinzi care e problema ? Nu mai suntem in epoca dischetei...

rdenis
Membru
Membru
Posts: 50
Joined: 10 Apr 2010, 20:16
Judet: Iaşi

Re: Exemplu de Databinding in c++\cli

Post by rdenis » 18 May 2010, 12:42

multumesc de ajutor laurentiu...merge bine codul :)...raman dator cu o bere pe cand esti prin iasi...
in ceea ce priveste WTL si DB - astea sunt cerintele....aplicatia trebuie sa se conecteze la un server sql 2008 express de pe orice PC din retea fara a mai fi nevoie de instalare...practic aplicatia e un utilitar de testare pt a vedea daca PC-ul respectiv are acces la serverul sql si daca poate face interogari pe server...a doua cerinte e ca trebuie sa fie un singur .exe fara alte legaturi...
cat despre wizard e foarte curios...am mai incercat sa conectez un gridview din winforms pe un vs2008 pro si tot ce apare e object, insa in C# apare si database...imi poti spune ce versiune ai tu si pasii pe care i-ai urmat??eventual daca ai instalat si alte componente in momentul in care ai instalat VS??


Regards,
Denis

neagu_laurentiu
Membru++
Membru++
Posts: 919
Joined: 23 Jul 2007, 11:32

Re: Exemplu de Databinding in c++\cli

Post by neagu_laurentiu » 18 May 2010, 12:52

Eu m-am uitat in VS 2005 Professional dar nu stiu sa existe diferente la capitolul asta (sigur nu sunt).
Repet inca o data, cu MFC nu mai ai nevoie de nici un .dll sau altceva pentru povestea ta.

rdenis
Membru
Membru
Posts: 50
Joined: 10 Apr 2010, 20:16
Judet: Iaşi

Re: Exemplu de Databinding in c++\cli

Post by rdenis » 18 May 2010, 22:37

buna laurentiu,

te stresez din nou...problema e ca nu reusesc sa-l conectez la serverul sql 2008...imi da erori de genul ca nu poate localiza serverul sau named pipes....

Code: Select all

 OleDbConnection^ c = gcnew OleDbConnection("Provider=SQLNCLI10;Server=10.8.0.105;Database=testdb; Trusted_Connection=yes;");
asta e codul modificat...

ma poti ajuta?

regards,
Denis

neagu_laurentiu
Membru++
Membru++
Posts: 919
Joined: 23 Jul 2007, 11:32

Re: Exemplu de Databinding in c++\cli

Post by neagu_laurentiu » 18 May 2010, 23:43

Recomand SqlClient in loc de OleDb pentru SQL Server:

Code: Select all

SqlConnection("Data Source=IP\\instanta;Initial Catalog=mydb;User ID=user;Password=parola");
unde \\instanta e optional, depinde cum a fost instalat server-ul.

Aici ai string-urile de conexiune: http://www.connectionstrings.com/sql-server-2008

Nu-mi place Trusted ! Oricine se conecteaza la tine ? Prefer un user si o parola.
Tasteaza in consola telnet 10.8.0.105 1433 si zi-mi daca se conecteaza (sa ramana un ecran negru). Ca sunt multe cauze si sa le luam pe rand.

rdenis
Membru
Membru
Posts: 50
Joined: 10 Apr 2010, 20:16
Judet: Iaşi

Re: Exemplu de Databinding in c++\cli

Post by rdenis » 19 May 2010, 00:07

ori sunt eu prea obosit, ori Win7 nu mai stie de telnet....cat despre SqlConnection am reusit sa ajung pana aici:

Code: Select all

SqlConnection^ c = gcnew SqlConnection("Data Source=IP\\instanta;Initial Catalog=mydb;User ID=user;Password=parola");
              //c->Open();
              //DataTable^ t = gcnew DataTable();
              SqlCommand^ a = gcnew SqlCommand("SELECT * FROM Tabletest AS denumire;", c);
              //a->Fill(t);
			  a->Connection->Open();
			
			  a->ExecuteNonQuery();
			  

              this->listBox1->DataSource = t;
              
			  this->listBox1->DisplayMember = "denumire";

              c->Close();
insa imi da eroare la a->Fill(t) pt ca SqlCommand nu are membru Fill...iar super MSDN nu e bun la nimic...cand vine vb de C++ fie ca e cu CLI fie ca nu are doar un singur mesaj: Language not supported...

Regards,
Dennis
Last edited by rdenis on 19 May 2010, 00:25, edited 1 time in total.

Post Reply