我为我的应用程序编写了这种类型的命令。但是我的讲师告诉我这些东西是旧时尚,使用像数据集这样的新东西。我想知道你们对吗?那种盗贼已经过时了?日期设置是执行此操作的新方法?
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();
}
}
}
您使用的类是 .NET 中几乎所有数据访问技术的具体细节。围绕它有抽象,如数据集,LINQ to SQL,实体框架等。但最终他们都使用SqlConnection和朋友。
事实上,在我提到的 3 种技术中,数据集是那些基本上被丢弃的技术,除了 .NET 2.0 时代的工具之外,几乎没有或根本没有支持。
DataSet 在内部使用 DataReader 来填充日期。此外,数据集在断开连接模式下工作,但您的代码无论如何都不会过时。
您的老师可能正在谈论使用ORM。
不,你的代码一点也不老式。它完全适合您的要求。
在真正需要的时候使用DATASET
......比如,当你想离线使用一些数据时,修改它并再次反映对数据库的更改。
事实上SqlCommand
命令不是DATASET
的替代品..
DATASET
是可以保存从数据库检索或本地创建的表的东西。
SqlCommand
可以帮助您从/向数据库表获取/插入/更新数据
即使您正在使用DATASET
您仍然需要SqlCommand
.那么不存在Sqlcommand
是老式的,Dataset
是新的问题