Sqlcommand是旧时尚新的一个是Dataset

时间:2012-06-26 06:30:43

标签: asp.net sql c#-4.0

我为我的应用程序写了这种命令。但是我的讲师告诉我那些东西是旧时尚,使用像DATASET这样的新东西......我想知道你们这是正确的吗?那种thig已经过时了?日期设置是新的方法吗?

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

3 个答案:

答案 0 :(得分:2)

您正在使用的类是.NET中几乎所有数据访问技术的基本要点。它周围有抽象,如DataSet,LINQ to SQL,Entity Framework等。但最后他们都使用SqlConnection和朋友。

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

答案 1 :(得分:1)

DataSet在内部使用DataReader来填充日期。此外,数据集在断开连接模式下工作,但您的代码不会过时。

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

答案 2 :(得分:1)

不,你的代码根本不是老式的......完全符合你的要求。

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

实际上SqlCommand命令不是DATASET的替代选择。

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

SqlCommand可帮助您从/向数据库表获取/插入/更新数据

即使您使用的是DATASET,您仍然需要SqlCommand ..然后不存在Sqlcommand老式和Dataset是新的<的问题< / strong>