Entwickler-Ecke
WinForms - Lokale Datenbank lässt sich nicht aufrufen
Vegeto - Mi 12.09.12 21:38
Titel: Lokale Datenbank lässt sich nicht aufrufen
nabend...
habe soeben eine lokale Datenbank angelegt.
Ich habe das so gemacht:
Ich habe
rechts klick auf Projekt gemacht, dann
Neues Elemt hinzufügen, in dem Fenster
lokale Datenbank ausgewählt, das nächste fenster habe ich einfach
geschlossen, So Da hatte ich eine Lokale Datenbank mit den Namen
Database1.sdf.
Dann habe ich in die Lokale Datenbank eine Tabelle hinzugefügt mit dem Namen
test.
Diese Tabelle hatte 4 Spalten (ID, Name, Nachname, Adresse)
Danach habe ich die Tabelle gefüllt.
Jetzt wollte ich diese Tabelle im DataGridView wieder geben, doch irgendwie klappt das nicht.
Mein CSharp Code
C#-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16:
| using System.Data.SqlServerCe;
private void holen_btn_Click(object sender, EventArgs e) { SqlCeConnection conn = new SqlCeConnection(); conn.ConnectionString = "Data Source = 'Database1.sdf';"
conn.Open(); SqlCeDataAdapter dA = new SqlCeDataAdapter("SELECT * FROM Test", conn); conn.Close(); DataTable dT = new DataTable(); dA.Fill(dT);
dataGridView1.DataSource = dT; } |
Doch dann kommt dieser Fehler:
[url=
http://www.fotos-hochladen.net/view/fehleriav3e9l18j.jpg]
[/url]
Weiß jemand woran das liegt.
Lg
Yankyy02 - Mi 12.09.12 22:21
Servus Vegeto!!
Wenn du dir deine Fehlerliste ansiehst solltest du sehen das dort ----> ; erwartet steht!
Und in Zeile 24 haben wir den Übeltäter!!
C#-Quelltext
1:
| conn.ConnectionString = "Data Source = 'Database1.sdf';" |
solltest du in
C#-Quelltext
1:
| conn.ConnectionString = "Data Source = 'Database1.sdf'"; |
umändern dann sollte es funktionieren!!
MfG
Vegeto - Do 13.09.12 08:13
Yankyy02 hat folgendes geschrieben : |
solltest du in
C#-Quelltext 1:
| conn.ConnectionString = "Data Source = 'Database1.sdf'"; |
umändern dann sollte es funktionieren!!
|
Hey.. ups :oops:
Habe ich geändert kommt trotzdem der selbe Fehler :/
Wieso steht dort die Datei oder Assambly fehlt, habe sie bei verweise hinzugefügt und auch eine using anweisung erstellt.
lg
Vegeto - Do 13.09.12 09:41
Yankyy02 hat folgendes geschrieben: |
HTML-Dokument 1:
| http://www.microsoft.com/de-de/download/details.aspx?id=17876 |
|
Moin
Ohh no :( habe keine rechte sachen zu installieren :/
Ich habe nun die
Database1.sdf gelöscht und eine
dienstbasierte Datenbank erstellt, die hat auch die Endung
.mdf.
wie muss nun die connection aussehen?
LG
Moderiert von
Th69: Beitragsformatierung überarbeitet.
Ralf Jansen - Do 13.09.12 10:38
Wenn du die Referenz für den SQL Server CE hinzugefügt hast und sogar per Visual Studio diese Datenbank pflegen konntest ist der SQL Server CE sicherlich bei dir vorhanden. Nur kann deine fertige Anwendung die Assembly dazu nicht finden. Es könnte bereits helfen wenn du einfach die Referenz auf 'copy local' setzt (den Punkt findest du in den Properties der Referenzen wenn du die entsprechende Referenz im Solution Explorer ausgewählt hast). Dann wird die Assembly in deinen Ausgabeordner deines Projekts kopiert und ist dann auch dort zu finden.
Bei der dienstbasierten Datenbank solltest du bedenken das du den entsprechenden Dienst (also einen installierten SQL Server) auch brauchst. Bei CE ist es einfach nur die Assembly die mitverteilt werden muß.
Vegeto - Do 13.09.12 11:08
Ralf Jansen hat folgendes geschrieben : |
Es könnte bereits helfen wenn du einfach die Referenz auf 'copy local' setzt (den Punkt findest du in den Properties der Referenzen wenn du die entsprechende Referenz im Solution Explorer ausgewählt hast
|
Okay, aber wo muss ich das machen mit "copy Local"...? Zudem die frage, brauch ich die Installation nicht, denn ich habe keine Rechte für eine Installation :/
Lg
Ralf Jansen - Do 13.09.12 11:43
Zitat: |
Okay, aber wo muss ich das machen mit "copy Local"...? |
So wie ich geschrieben habe du öffnest im Solution Explorer den Knoten mit den Referenzen (da wo du auch die Referenz für die Assembly hinzugefügt hast), klickst auf die gewünschte Referenz und in den Properties findest du unter anderem den Punkt 'local copy' der, wenn du den auf true setzt, dafür sorgt das die Assembly beim Build zusätzlich in den Ausgabeordner kopiert wird.
Zitat: |
Zudem die frage, brauch ich die Installation nicht, denn ich habe keine Rechte für eine Installation :/ |
Dein Entwicklermaschine wäre mir jetzt egal was du da darfst oder nicht. Da scheint ja der SQL Server schon installiert zu sein sonst würde die mdf Datenbank nicht funktionieren. Aber deine Software wird ja irgendwann mal an andere (zumindest theoretisch) weitergegeben. Bei einem SQL Server CE musst du nur mit deinem Programm auch die CE Assembly mitgeben. Im anderen Fall musst du eine SQL Server Installation vornehmen. Das ist ungleich mehr Aufwand.
Vegeto - Do 13.09.12 12:01
Zunächst einmal Danke an alle Hinweise und Verbesserungen..
hatte gerade ein Gespräch mit meinem Chef und der hat mir gesagt wo und wie ich was anzulegen habe.
Ich möchte mich Herzlich bei Ralf Jansen bedanken.
Villeicht komm ich für dich wie eine kleines Arschl*** rüber, aber Ich danke dir bis hierhin, hast mir bisher in allen meinen Themen weiter geholfen :)
Zum Thema, ich soll eine "locale" Datenbak erstllen, dass tue ich einfach mittels SQL Server Managment Studio, dort lege ich einfach eine neue Datenbank an und erstelle eine tabelle, so ist der Connection String auch einfacher.
Habe die rechte dafür bekommen eine neue DB anzulegen
Lg
DANKE :zustimm:
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!