2009-07-26 76 views
0

我一直使用的SqlDataSource在我的SQL Server 2005數據庫更新我的記錄,所以我真的不知道如何做到這一點在正常代碼來完成。我使用的是VB.NET,但是如果您是C#開發人員,並且想向我展示一些不受歡迎的代碼。使用ASP.NET 3.5更新SQL Server 2005中的記錄 - 如何?

我使用ASP.NET 3.5 ...............

我的用戶將看到與自己的聯繫方式5個文本框頁面,這些細節我會從SQL Server數據庫獲取數據,當他們離開並更改文本框中的文本並單擊提交時,它必須保存更改。

這是很容易使用SqlDataSource,但我怎麼可以編寫這個自己?

在此先感謝!

回答

0

AI人工智能AI .........我是愚蠢的。

我想在我的PAGE LOAD事件上放置一個IF NOT ISPOSTBACK語句,因爲當我點擊提交按鈕並且它用舊記錄更新記錄時,我從數據庫重新加載了我的記錄!

7

類似下面的(香草)ADO.NET

using(var con = new SqlConnection("ConnectionString")) 
{ 
    using (var cmd = con.CreateCommand()) 
    { 
     // This Example uses a parameterized SQL statement 
     // but you can also use SQL Server stored procedures 

     cmd.CommandText = "UPDATE table SET field1 = @field1, field2 = @field2 WHERE id = @id"; // etc, etc  
     cmd.CommandType = CommandType.Text; 

     // Add values for the parameter values for the 
     // parameter placeholders in the SQL statement 
     cmd.Parameters.AddWithValue("field1", Textbox1.Text); 
     cmd.Parameters.AddWithValue("field2", Textbox2.Text); 
     cmd.Parameters.AddWithValue("id", myObject.Id);     

     con.Open(); 

     // You might want to use ExecuteScalar instead and get a return value back 
     // from the database to signal success 
     cmd.ExecuteNonQuery();   
    } 
} 

ADO.NET的一個很好的教程 - Accessing SQL Server data in C# with ADO.NET

當然,使用ASP.NET 3.5,您還可以的LINQ to SQL或實體框架可供選擇。

然後還有,一個非常流行的開源對象關係映射器,這是極好的基本的CRUD應用。

+0

我通常嘗試和ADO.NET,對於btnSubmit按鈕按鈕的任何代碼望而卻步? – Etienne 2009-07-26 22:56:54