Autor Beitrag
ripperle
Hält's aus hier
Beiträge: 9



BeitragVerfasst: Mo 19.07.10 09:44 
Hi,

ich habe einige Schwierigkeitenn bezüglich meiner Datenbank.

Mein aktueller Stand:
SQL Datenbank Compact 3.5
Datagrid dem ich als referenz meine Datenbank angebe...

Wenn ich im Datengrid die referenz im Designer anlege erstellt er mir ja autmatisch das Datasheet, ein bindingsource element und ein tabeladapter.

Mit dem tabeladapter kann ich auch wunderbar arbeiten (mit der update funktion schreibt er mir die änderenung des data grid in die sql datenbank) und auch acceptChanges und removeChanges und diese sachen funktionieren alle...

Soweit so gut :)

Mein Problem liegt darin das ich auf die Datenbank mit einer anderen Klasse zugreifen will... Momentan befindet sich das objekt vom datasheet und vom tableadapter usw. in der Form Klasse wo mein datagrid ist...

Wie greife ich jetzt aber mit einer anderen Klasse darauf zu?!?! muss ich jetzt nochmal ein datasheet und ein table adapter und so erstellen?? Wenn ja wie??

Ich glaube ich habe da auch noch etwas verständnisprobleme :)

Über Hilfe wäre ich sehr dankbar!!

Gruß
Ripperle
Ralf Jansen
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 4708
Erhaltene Danke: 991


VS2010 Pro, VS2012 Pro, VS2013 Pro, VS2015 Pro, Delphi 7 Pro
BeitragVerfasst: Mo 19.07.10 11:42 
Was ist in diesem Zusammenhang ein Datasheet?

Nur weil der Designer dir automatisch einen Tableadapter und ein Dataset auf der Form erzeugt heißt das noch lange nicht das das auch gut ist und man das so machen sollte.
Den Tableadapter kannst du dir einfach im Code erzeugen da wo du ihn brauchst wie jede andere Klasse auch und das Dataset das man vom Tableadapter befüllt bekommt kann man ganz normal an die Klassen weiterreichen (unter anderem deine bisherige Form) die dieses benötigen.
norman2306
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 222
Erhaltene Danke: 16

Win XP, Win 7 64-Bit
C# 4.0 (VS2010)
BeitragVerfasst: Mo 19.07.10 13:12 
Du könntest einfach ein öffentlichen Accessor für die Sachen definieren, die du brauchst. So ganz verstehe ich dein Problem nicht...
ripperle Threadstarter
Hält's aus hier
Beiträge: 9



BeitragVerfasst: Mo 19.07.10 18:55 
Ja warscheinlich ist meine Frage so einfach das niemand weis was ich will :D


also nochmal :):

-Ich habe eine Datenbank (SQL Compact) in der eine tabelle hinterlegt ist.
-diese Tabelle zeige ich in einem "dataGridView" an indem ich eine datenquelle auswähle und dort das DataSet auswähle (sorry datasheet war falsch :) )


Meien Frage (warscheinlich SEHR einfach zu beantworten):

-Wie beschreibe ich dieses DataSet bzw. meine SQL Datenbank von einer anderen Klasse aus?

Also ich bin hier warscheinlich wirklich ein blutiger anfänger, deswegen verstehe ich auch aussagen wie "Du könntest einfach ein öffentlichen Accessor für die Sachen definieren," nicht so ganz *g*

Bitte eine erklärung oder eine allgemeine erläuterung zum Umgang mit DataSets und SQL Datenbanken für Babys ^^

Danke für eure Hilfe
Ripperle
norman2306
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 222
Erhaltene Danke: 16

Win XP, Win 7 64-Bit
C# 4.0 (VS2010)
BeitragVerfasst: Di 20.07.10 10:39 
Dein eigentliches Problem hat ja erstmal nichts mit DBs zu tun, wenn ich es richtig verstehe. Also, du verlinkst deine Datenbank mit dem DataGridView. Ich shätze mal, mit Datenquelle meinst du die DataSource-Eigenschaft des GridViews... Aber mal davon abgesehen sollte sich eigentlich das Datenbankobjekt in deinem Brojekt befinden. Das siehst du im Projektmappen-Explorer. Es sollte sich dort etwas befinden, dass in etwa "<dbname>DataSet.xsd" heißt. Auf dieses Objekt kannst du direkt zugreifen.
IsNull
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 97
Erhaltene Danke: 11


VS 2010, C#, AHK
BeitragVerfasst: Di 20.07.10 19:20 
Evtl weis er auch nicht wie mit den Namespaces umgehen?

Wo in deinem Projekt ein File (*.cs z.B.) liegt ist erstmal egal.(Klar sollte es sinnvoll platziert und organisiert sein)
Erstellst du einen Unterordner (Meinorder) und darin dann eine neue Klasse, macht er dir automatisch aus namespaceRoot ein namespaceRoot.Meinorder.

Evtl. Hilft es dir auch, das Dataset nicht im Designer anzuschauen, sondern als normaler C# code (Rechtsklick -> "View Code"), so ist auch besser ersichtlich, in welchem Namespace es liegt, und somit wie man darauf zugreifen kann.
ripperle Threadstarter
Hält's aus hier
Beiträge: 9



BeitragVerfasst: Do 22.07.10 17:24 
hehe ich habe mein fehler gefunden :)

Also habe jetzt keine 3 tage gesucht, hatte bis jetzt einfach keine zeit *g*

Mein Problem war das ich in diesem data_set zwei tabllen habe. Und meine funktionen aus meiner externen klasse hatte als übergabeparameter data_set.tabelle1 und das ist schreibgeschützt... wenn ich die oberklasse also nur das data_set übergebe funzt alles :)

Bitte nicht lachen aber aller anfang ist schwer ^^

Danke für eure Hilfe
Ripperle