Laden...

DataSet.sdf

Erstellt von Aryan vor 12 Jahren Letzter Beitrag vor 12 Jahren 2.182 Views
A
Aryan Themenstarter:in
8 Beiträge seit 2006
vor 12 Jahren
DataSet.sdf

verwendetes Datenbanksystem: SqlServerCE 3.5

Hallo C# entwickler/(in),

habe ein kleines, simples Problem.
Mit MSVisual C# 2010 Express habe ich ne Form erstellt, mittels MS Assistent füge ich ne Lokale Datenbank (Dataset1.sdf) in dem Project hinzu. Der Assistent baut mir die Verbindung auf.
siehe MS beispiel
http://msdn.microsoft.com/de-de/library/0f92s97z.aspx

Ich verwende "DataGridView" mit Datenquelle "BindingSource" von mein DataSet.

Nun meine Frage, wie speichere ich die Daten sätze aus DataGridView in mein Dataset1.sd?

der (InsertCommand) wird automatisch in mein TableAdapter durch den Assisten erzeugt.
Code aus dem MS Beispiel;


private void myUSERBindingNavigatorSaveItem_Click(object sender, EventArgs e)
 {
            try
            {
                this.Validate();
                this.myUSERBindingSource.EndEdit();
                //this.tableAdapterManager.UpdateAll(this.myUSERDataSet);
                this.myUSERTableAdapter.Update(this.myUSERDataSet.myUSER);
                MessageBox.Show("Update successful");
            }
            catch (System.Exception ex)
            {
                MessageBox.Show("Update failed");
            }

 }

Ich will die Datensätze Local speichern um später mit MS SQl Server zu synchronisieren.

Hat man da ne Idee? oder hat man ne andere Idee wie ich meine Daten Local speichren soll, ich kenn mich mit C# nicht so gut aus 😁

Danke im Voraus.

G
538 Beiträge seit 2008
vor 12 Jahren

Für das lokale Speichern gibt es spezielle Templates die kannst du deinem Projekt hinzufügen und heißen "Local Database Cache" mit dem SQL Server kannst du dann das Change-Tracking benutzen.

Mehr dazu gibt die MSDN her.

Der Vorteil der Klugheit liegt darin, dass man sich dumm stellen kann - umgekehrt ist das schon schwieriger (K. Tucholsky)
Das Problem mit Internet-Zitaten ist, dass sie oftmals zu unrecht als authentisch angenommen werden. (K. Adenauer)

A
Aryan Themenstarter:in
8 Beiträge seit 2006
vor 12 Jahren

Hallo Grumbler85,

danke für deine Antwort,

Local verwende ich MSVisual C# 2010 Express, wo ich die "Local Database Cache" nicht erstellen kann.
Auf dem Server haben wir MSVisual C# 2010 Prof. damit habe ich den "Local Database Cache" erstellt.

Die Datensätze die ich in Datagridview einfügen, landen nicht in mein xy.sdf (myTabelle) sondern direct in SQL SERVER. X(

Beim erstellen der "LocalDataCache.sync" kann ich mittels "Datensynchronisierung Konfigurieren" die Datenverbindung festlegen.

Der Server lege ich fest und der Clint mit *.sdf wird automatisch erstellt.
habe ich hier vielleicht was Falsch gemacht?

die Connection bei "tbTableAdapter" ist :
Data Source=|DataDirectory|\xy.sdf;Max Database Size=2047
mit DELETE&INSERT&SELECT und UPDATECOMMAND's
und so sieht der Code aus;

{
this.Validate();
this.tbBindingSource.EndEdit();
this.tbDataGridView.EndEdit();
//this.tableAdapterManager.UpdateAll(this.myDataSet);
this.tbTableAdapter.Update(this.myDataSet.tb);

LocalDataCacheSyncAgent syncAgent = new LocalDataCacheSyncAgent();
// Set synch direction, default is DownloadOnly
syncAgent.tb.SyncDirection = Microsoft.Synchronization.Data.SyncDirection.Bidirectional;
Microsoft.Synchronization.Data.SyncStatistics syncStats = syncAgent.Synchronize();
this.tbTableAdapter.Fill(this.myDataSet.tb);

MessageBox.Show(
"\nTotal Changes Downloaded: " + syncStats.TotalChangesDownloaded + Environment.NewLine.ToString() +
"\nStart Time:               " + syncStats.SyncStartTime + Environment.NewLine.ToString() +
"\nComplete Time:            " + syncStats.SyncCompleteTime + Environment.NewLine.ToString() +
String.Empty + Environment.NewLine.ToString(), "Synchronisierung Meldung"
);
}

nochmal Danke
VG

Hinweis von Abt vor 12 Jahren

Beachte bitte [Hinweis] Wie poste ich richtig? Regel 6: Code in Tags

G
538 Beiträge seit 2008
vor 12 Jahren

Naja - solange der SQL Server verfügbar ist hat der Cache keinen Sinn - das ist ja eher für die Zeit gedacht, in der du offline unterwegs bist.

Der Vorteil der Klugheit liegt darin, dass man sich dumm stellen kann - umgekehrt ist das schon schwieriger (K. Tucholsky)
Das Problem mit Internet-Zitaten ist, dass sie oftmals zu unrecht als authentisch angenommen werden. (K. Adenauer)

A
Aryan Themenstarter:in
8 Beiträge seit 2006
vor 12 Jahren

genau,

die Applikation soll auch local laufen und am ende der Monat sollen die gespeicherte Datensätze auf SQL SERVER syncronisiert werden.

Das erste teil habe ich so gelöst, in dem ich die Datensätze local als XML.Datei gespeichert habe. Nun sollen die Datensätze durch ne VPN Tunnel mit SQL SERVER sysncronisiert werden.

Das mit Syc Framwork fande ich nicht schlecht, habe aber hierbei keine Erfahrung.

wie würdest du es machen?

Viele Grüße