ERLEDIGT
NEIN
NEIN
ANTWORTEN
3
3
ZUGRIFFE
359
359
EMPFEHLEN
-
Hallo,
ich habe das Problem das ich über mein Programm Daten in eine Datenbank lade über dataAdapter.Update. Wenn ich das gemacht habe und das Programm schließe und wieder öffne sind die Datensätze vorhanden, wenn ich nun aber das Programm schließe und dann im Sever-Explorer(VS2008) mir die Tabelle der Datenbank anschauen möchte löscht er alle einträge darin. Das echt nervig
hoffe es hat jemand von euch eine Idee wie man das verhindern kann.
MFG Daniel L.
-
Hi
Update ändert nur bestehende Datensätze und fügt keine neuen hinzu.
Führst du auch ein Commit aus?
Was ist unterzu verstehen?Wenn ich das gemacht habe
Post doch mal bitte den relevanten Code, dass wir sehen, was du da genau machstGrüße Nico
----------------------
Xing
----------------------
Zitat von Mark Twain (1835-1910)
Zitat von Mike Wilson - Biographie über Larry Ellison (CEO Oracle)
-
Hi,
Hier mal das bisschen Code:
Code :1 2 3 4 5 6 7 8 9 10 11 12
SqlCeDataAdapter dA2 = new SqlCeDataAdapter(); command.CommandText = "SELECT * FROM Gebäude"; dA2.SelectCommand = command; SqlCeCommandBuilder CommandBuilder = new SqlCeCommandBuilder(dA2); try { dA2.Update(dataSet.Tables["Gebäude"]); } catch (Exception e1) { MessageBox.Show("Error: " + e1.Message); }
-
Ja, ein bisschen Code ist das wirklich, da steig ich nicht ganz durch.
In der MSDN steht ein Beispiel das die Funktionsweise des CommandBuilder ganz schön illustriert.
Wo nimmst du das command-Object her, und wo baust du die Verbindung auf?
Ich hab das mal ein wenig kommentiert und ein ganz klein wenig geändert, denke das sollte reichen um darauf aufzubauen:
Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66
using System; using System.Data; using System.Data.SqlServerCe; namespace ConsoleApplication1 { class Program { static void Main(string[] args) { try { //Connection rrstellen using (SqlCeConnection conn = new SqlCeConnection(@"Data Source = D:\MyDatabase.sdf")) { //Connection öffnen conn.Open(); //SQL Command erstellen SqlCeCommand cmd = conn.CreateCommand(); //SQL Command CommandText ZUWEISEN cmd.CommandText = "SELECT * FROM testTable"; //DataAdapter erstellen SqlCeDataAdapter adp = new SqlCeDataAdapter(cmd); //CommandBuilder erstllen SqlCeCommandBuilder cb = new SqlCeCommandBuilder(); //DataAdapter des CommandBuilder zuweisen cb.DataAdapter = adp; //Testausgaben Console.WriteLine(cb.GetUpdateCommand().CommandText); Console.WriteLine("\r\n\r\n"); Console.WriteLine(cb.GetInsertCommand().CommandText); Console.WriteLine("\r\n\r\n"); Console.WriteLine(cb.GetDeleteCommand().CommandText); Console.WriteLine("\r\n\r\n"); //Neues Dataset Erstellen und befüllen DataSet ds = new DataSet(); adp.Fill(ds); //Testausgabe des Datasets for (int i = 0; i < ds.Tables[0].Rows.Count; i++) Console.WriteLine(ds.Tables[0].Rows[i].ItemArray[0]); //DataSet bearbeiten ds.Tables[0].Rows[0]["name"] = "Joe"; //Daten zum DataSet hinzufügen object[] newData = {"Joey", "CFO", "01.01.2001"}; ds.Tables[0].Rows.Add(newData); //Update (geändertes DataSet) in die DB schreiben (daraus wird hier ein UPDATE für den geänderten Datensatz und ein INSERT für den neuen Datensatz) adp.Update(ds); } } catch (Exception e1) { Console.WriteLine(e1.ToString()); } Console.ReadKey(); } } }
SqlCeCommandBuilder in der MSDNGeändert von StupidBoy (22.02.10 um 23:17 Uhr)
Grüße SB
Ähnliche Themen
-
Tabellen von selbst geleert?!
Von Jeannine im Forum Relationale DatenbanksystemeAntworten: 0Letzter Beitrag: 04.02.08, 10:28 -
MySQL - Tabelle geleert, Daten wiederholen?
Von Hattrix im Forum Relationale DatenbanksystemeAntworten: 12Letzter Beitrag: 11.12.06, 09:56 -
Script aufrufen > nichts wird angezeigt
Von WEBi im Forum PHPAntworten: 3Letzter Beitrag: 22.09.05, 01:13 -
Probleme beim Update -> Datensatz wird geleert
Von rohland70 im Forum Relationale DatenbanksystemeAntworten: 3Letzter Beitrag: 11.04.05, 17:33





Zitieren

Login




