0

我为我的应用程序编写了这种类型的命令。但是我的讲师告诉我那些东西是旧时尚,使用新的东西,比如数据集。我想知道你们是正确的吗?那些东西已经过时了?日期设置是这样做的新方法吗?

protected void btn_edit_Click(object sender, EventArgs e) 
{ 
    using(SqlConnection con = new SqlConnection(CONN_STR))
    {
      con.Open(); 

      using(SqlCommand cmd = new SqlCommand("UPDATE tbl_BinCardManager SET ItemName = @ItemName WHERE ItemNo = @ItemNo"), con)
      {

        // TODO: fill in param values with real values
        cmd.Parameters.AddWithValue("@ItemName", "my item name");
        cmd.Parameters.AddWithValue("@ItemNo", 1);

        cmd.ExecuteNonQuery(); 
      }
    }
 }
4

3 回答 3

2

您使用的类是 .NET 中几乎所有数据访问技术的基本要素。围绕它有一些抽象,例如 DataSets、LINQ to SQL、Entity Framework 等。但最终它们都使用 SqlConnection 和朋友。

事实上,在我提到的 3 种技术中,DataSet 是那些在很大程度上被丢弃并且在 .NET 2.0 时代工具之外几乎没有支持的技术。

于 2012-06-26T06:38:25.537 回答
1

不,您的代码根本不是老式的..它对您的要求非常简单。

在真正需要时使用DATASET..比如,当您想将一些数据脱机并修改它并再次反映对数据库的更改时..

事实上SqlCommand,命令不是DATASET..

DATASET是可以保存从数据库检索或本地创建的表的东西。

SqlCommand是可以帮助您从/向数据库表获取/插入/更新数据的东西

即使你正在使用DATASET你仍然需要SqlCommand..那么不存在Sqlcommand过时和Dataset新的问题

于 2012-06-26T06:56:26.587 回答
1

DataSet 在内部使用 DataReader 来填充日期。数据集也可以在断开连接模式下工作,但您的代码无论如何都不会过时。

您的老师可能正在谈论使用ORM

于 2012-06-26T06:32:33.627 回答