Вставка строк в базу данных в ASP.NET - PullRequest
1 голос
/ 02 марта 2009

Я новичок в .NET и не могу понять, что должно быть простым. Я хочу вставить строку в таблицу и инициализировать ее значениями, которые не связаны с элементами управления данными. В частности, у меня есть элемент управления CreateUserWizard на странице. В методе CreatedUser я хочу вставить строку в созданную мною базу данных с именем «users», которая содержит имя пользователя и адрес электронной почты из элемента управления CreateUserWizard, а также дату создания нового пользователя из функции DateTime.Now. Кажется, не существует способа установить параметры в элементе управления sqlDataSource таким образом, чтобы они могли получить доступ к данным, которые не связаны с элементами управления данными. Кто-нибудь может объяснить, как мне это сделать?

Ответы [ 2 ]

9 голосов
/ 02 марта 2009

Вы находитесь на неправильном пути - вы вообще не будете использовать элемент управления sqlDataSource. Вы пойдете на более прямое взаимодействие с базой данных из кода. Например:

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();

Теперь, после всего сказанного, вы захотите изучить SqlCommand и SqlDataReader в некоторых деталях (они довольно просты), а затем обратить ваше внимание на создание слоя доступа к данным, который имеет смысл для вас. Вы будете рады, что сделали.

1 голос
/ 02 марта 2009

Другой вариант - установить значения по умолчанию для самой базы данных, чтобы вам не приходилось беспокоиться о передаче Datetime.now.

...