我为我的应用程序写了这种命令。但是我的讲师告诉我那些东西是旧时尚,使用像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();
}
}
}
答案 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>