Einfügen von Zeilen in eine Datenbank in ASP.NET
-
03-07-2019 - |
Frage
Ich bin neu in .NET, und ich bin nicht etwas scheinen, um herauszufinden, die einfach sein sollten. Ich möchte eine Zeile in eine Tabelle einfügen, und initialisieren es mit Werten, die nicht an Datensteuer gebunden sind. Insbesondere habe ich eine Create Steuerelement auf einer Seite. Im CreatedUser Verfahren mag ich eine Zeile in eine databse einzufügen habe ich „Benutzer“ genannt, die die Benutzername und die E-Mail-Adresse aus dem Create Steuerelement enthält, und das Datum der neue Benutzer erstellt wurde, aus der DateTime.Now Funktion. Es scheint nicht ein Weg, um die Parameter in dem SqlDataSource-Steuerelement in einer Art und Weise eingestellt wird, dass sie auf Daten zugreifen können, die nicht an Datensteuer gebunden ist. Kann mir jemand einen Weg erklären für mich, dies zu tun?
Lösung
Sie sind auf dem falschen Weg - Sie werden nicht bei allen SqlDataSource-Steuerelement verwenden. Sie werden für eine direkte Interaktion mit der Datenbank von Code gehen. Zum Beispiel:
SqlConnection conn = new SqlConnection(connString);
SqlCommand cmnd = new SqlCommand("Insert Into Table (P1, P2) Values (@P1, @P2)", conn);
cmnd.Parameters.AddWithValue("@P1", P1Value);
cmnd.Parameters.AddWithValue("@P2", P2Value);
cmnd.ExecuteNonQuery();
conn.Close();
Jetzt, mit allem, was gesagt wird, wollen Sie das SqlCommand und SqlDataReader im Detail lernen (sie recht einfach sind) und dann richten Sie Ihre Aufmerksamkeit eine Data Access Layer zu erstellen, die Sie sinnvoll ist. Sie werden froh sein, dass du getan hast.
Andere Tipps
Eine weitere Option ist standardmäßig auf der Datenbank selbst, so einzustellen, dass Sie brauchen keine Sorgen zu Datetime.now über geben.