2009-07-26 79 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