C# Daten in SQL schreiben mit C#

Murphy9904

Lt. Junior Grade
Registriert
Mai 2007
Beiträge
344
Hi,
wie schafft man es denn Daten mit C# in eine SQL Datenbank zu schreiben?

hab in Google nichts gefunden...



mit diesem Zeug kann ich Daten aus nem Query auslesen:

Code:
            using (ShopDBModelDataContext context = new ShopDBModelDataContext())
            {
                SqlConnection con = new SqlConnection(context.Connection.ConnectionString);
                con.Open();
                var data = (from a in context.Table
                            where a.Value == Text
                            select a).SingleOrDefault();

                SqlCommand com = new SqlCommand(data.SQLQuery, con);
                SqlDataReader reader = com.ExecuteReader();

                reader.GetValue(1).ToString();

            }

wie geht das dann Umgekehrt?


Danke schonmal

LG
Murphy
 
Zuletzt bearbeitet:
Ja schon, nur kommt mir das so "Unbekannt" vor hier in C#
was stellt in deinem Fall das X bei Insert da?
 
INSERT <Tabellenname> (<Name der Zeile>, ...) VALUES (<Daten>, ...) (<Daten>, ...)

Wobei die Syntax hier ein wenig anders aussieht beim SELECT:
var data = (from a in context.Table
where a.Value == Text
select a).SingleOrDefault();
 
Zuletzt bearbeitet:
Also grundsätzlich solltest du dir erstmal klar werden ob du nun mit dem SQLConnection und Command Konsorten arbeiten willst oder mit LINQ-To-Sql. Momentan vermischt es zwar nicht komplett, aber das ist Inserten ist jeh nach Technik die du benutzt anders. Ansonsten kannst du über den SqlCommand Insert-Befehle an die Datenbank abschicken.
 
Wozu brauchst du den LINQ? Kannst du auch so bequem itterieren.

Und es ist vielleicht besser einen SqlDataAdaper zu haben anstatt den Reader.
 
Und wie schreibe ich das in mein C# ding rein?
in SQL funktioniert es ja super

Code:
(from a in context.Table
                            where a.Value == Text
                            select a).SingleOrDefault();
hier fehlt ja das Select und so

wie du vielleicht gemerkt hast bin ich noch nich ganz der Hellste in solchen sachen? wie genau schlägst du das vor?



@ rocker: Glückwunsch zu deinem 1.000 esnden Beitrag
 
haha... aso, du hast dir ein Codeschnipsel geklaut und weiss nicht wie man es genutzen kann. Entweder mit sqlconnect oder wie oben linq to sql
 
Ja so kann man es nennen.. nur dass ich es nutzen kann..

ich meinte eig wie ich den C#/SQL - Mix jetzt schrieben soll

@ Kanal - wie schaut das dann mit Insert aus?
 
Zuletzt bearbeitet:
AW: Daten in SQL schreiben mit C# per LINQ

Falls in deinem ShopDBModelDataContext per Object Relational Designer (O/R-Designer) die den Tabellen entsprechenden Klassen bereits vorhanden sind, ist das Schreiben genauso einfach:
Code:
using (ShopDBModelDataContext context = new ShopDBModelDataContext(ConnectionString))
{
    DataKontextKlasse k = new DataKontextKlasse();
    k.blablaProperty = "xyz"; // Zuweisen der Objektwerte
    context.DataKontextKlasse.InsertOnsubmit(k); //k soll eingefügt werden
    context.SubmitChanges(); // und ausführen
}

Lesen geht genauso (und viel einfacher:
Code:
ShopDBModelDataContext context = new ShopDBModelDataContext(ConnectionString);
DataKontextKlasse k = context.DataKontextKlasse.Where(a => a.Value == Text).FirstOrDefault();

Und noch das Ändern von Datensätzen:
Code:
ShopDBModelDataContext context = new ShopDBModelDataContext(ConnectionString);
DataKontextKlasse k = context.DataKontextKlasse.Where(a => a.Value == Text).FirstOrDefault();
k.blablaProperty = "abc"; //Werte ändern
context.submitChanges();

PS: Lass das manuelle Gefummel mit der SQLConnection, das Öffnen und Schließen erledigt das DataContext automatisch. Übergib einfach als Kontruktorparameter die Verbindungszeichenkette. Oder erstell die SQLConnection einmalig und übergib diese als Konstruktorparameter.
 
Zuletzt bearbeitet:
Cool danke. sieht ja schon viel einfacher aus - habs aber noch nicht hinbekommen für mich zum laufen zu bringen.
ich mach aber schluss für heute morgen ist auch ein Tag ;)

ist das dann so in der Art richtig ?
weil das klappt nicht...
Code:
using (ShopDBModelDataContext context = new ShopDBModelDataContext(context.Connection.ConnectionString))
{
    ShopDBModelDataContext k = new ShopDBModelDataContext();
    k.ID = "2";
    context.ShopDBModelDataContext.InsertOnsubmit(k);
    context.SubmitChanges();
}
 
Zuletzt bearbeitet:
Typed Datasets sind auch nicht zu verachten, damit kannst du sehr bequem/schnell
daten abragen. updaten und inserten.

Eifach nach TypedDataset googeln
 
ja ich denke dass ist die faulste ausrede ... nichts gefunden
wenn man nicht sucht findet man auch nichts!
 
Danke für deinen hilfreichen Beitrag rocker ;)

ich hatte dann irgendwie falsch gegoogelt

aber mit dem Beitrag vom leimer und olampl komme ich jetzt sicher weiter..

danke
 
Zurück
Oben