2009-03-02 25 views
1

veritabanına eklemek .NET için yeni ve basit olması gereken bir şey anlayamıyorum. Bir tabloya satır eklemek ve veri denetimlerine bağlı olmayan değerlerle başlatmak istiyorum. Özellikle, bir sayfada bir CreateUserWizard denetimi var. CreateUser yönteminde, Kullanıcı Adını ve CreateUserWizard denetiminden E-posta adresini ve yeni kullanıcının oluşturulduğu tarihi, DateTime.Now işlevini içeren "users" adlı oluşturduğum bir veritabanına satır eklemek istiyorum. Parametreleri, sqlDataSource denetiminde, veri denetimlerine bağlı olmayan verilere erişebilecekleri şekilde ayarlamak için bir yol görünmüyor. Bunu yapmamın bir yolu var mı?Satırları ASP.NET

cevap

9

Yanlış yoldasınız - sqlDataSource denetimini hiç kullanmayacaksınız. Veritabanından kod ile daha doğrudan bir etkileşim için gideceksiniz. Örneğin: hepsi söyleniyor ile

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

Şimdi, (onlar oldukça basittir) bazı ayrıntılı olarak SqlCommandSystem.Data.CommandBehavior.SequentialAccess ve SqlDataReader öğrenmek isteyeceksiniz ve ardından kılan bir veri erişim katmanı bina dikkatinizi çevirmek sana duydum Yaptığına sevineceksin.

+0

?? Kim bu cevabı reddeder ve saldırgan olarak işaretlerdi? Birisinin garip bir espri anlayışı olmalı. –

+0

Bu benim için konuya dikkat çekti. Artık her şey mantıklı. Yardım ettiğin için teşekkür ederim. –

+0

Oy vermeyi bilmiyorum. . . "VOTE" sekmesine tıkladığımda hiçbir şey olmuyor. –

1

Başka bir seçenek veritabanında varsayılanları ayarlamaktır, böylece Datetime.now geçişi konusunda endişelenmenize gerek kalmaz.

+0

Kişisel tercihim, her zaman sunucuda ayarlanması (GETDATE() kullanılarak), birçok zaman diliminin güncellemeleriyle birçok sorunu düzeltir. –