Ich bin neu in .NET, und ich kann nicht scheinen, etwas herauszufinden, das einfach sein sollte. Ich möchte eine Zeile in eine Tabelle einfügen und sie mit Werten initialisieren, die nicht an Datensteuerelemente gebunden sind. Insbesondere habe ich ein CreateUserWizard-Steuerelement auf einer Seite. In der CreatedUser-Methode möchte ich eine Zeile in eine von mir erstellte Datenbank namens "users" einfügen, die den Benutzernamen und die E-Mail-Adresse aus dem CreateUserWizard-Steuerelement und das Datum der Erstellung des neuen Benutzers aus der DateTime.Now-Funktion enthält. Es scheint keine Möglichkeit zu geben, die Parameter im sqlDataSource-Steuerelement so festzulegen, dass sie auf Daten zugreifen können, die nicht an Datensteuerelemente gebunden sind. Kann mir jemand einen Weg erklären, dies zu tun?Einfügen von Zeilen in eine Datenbank in ASP.NET
Antwort
Sie befinden sich auf dem falschen Weg - Sie werden das sqlDataSource-Steuerelement überhaupt nicht verwenden. Sie werden für eine direktere Interaktion mit der Datenbank aus 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, sollten Sie das SqlCommand und SqlDataReader im Detail lernen (sie recht einfach sind) und dann richten Sie Ihre Aufmerksamkeit eine Datenzugriffsschicht aufzubauen, das macht Sinn für dich. Du wirst froh sein, dass du es getan hast.
Eine weitere Option besteht darin, Standardeinstellungen für die Datenbank selbst festzulegen, sodass Sie sich keine Gedanken über die Übergabe von Datetime.now machen müssen.
Meine persönliche Präferenz ist, dass Datumswerte wie diese immer auf dem Server gesetzt werden (mit GETDATE()), behebt viele Probleme mit Updates aus mehreren Zeitzonen. –
?? Wer würde diese Antwort ablehnen und sie als beleidigend markieren? Jemand muss einen komischen Sinn für Humor haben. –
Das kümmerte sich um das Thema für mich. Alles ergibt jetzt Sinn. Danke für Ihre Hilfe. –
Ich weiß nicht, wie ich abstimmen soll. . . Wenn ich auf "VOTE" klicke, passiert nichts. –