ASP.NET2.0中插入、删除、查询、修改记录这么多方法,究竟哪种最通用,最常用?100分全给
现在有个问题困扰我很长时间,我是从asp直接转到asp.net2.0的,在ASP.NET2.0中对数据库进行插入、删除、查询、修改四项操作时,我发现有好种方法,现在我搞不清该用哪种:
1. 最初我用SqlDataSource+GridView之类的快捷操作,但不久发现这个方法只在简单的情况下快捷,不通用,不灵活。
2.后来用Command,类似下面的方法:
SqlCommand command = new SqlCommand( "INSERT INTO UserPhoto (UserName,ContentType,Photo) " +
"VALUES (@UserName,@ContentType,@Photo) ", myConnection);
//使用Parameters.AddWithValue实现对参数的赋值
command.Parameters.AddWithValue( "@UserName ", TextBox1.Text);
command.Parameters.AddWithValue( "@ContentType ", fileType);
command.Parameters.AddWithValue( "@Photo ", fileData);
//打开连接,执行查询
myConnection.Open();
command.ExecuteNonQuery();
myConnection.Close();
2.又发现有人使用SqlDataSource,类似下面的代码:
protected void btnInsert_Click(object sender, EventArgs e)
{
SqlDataSource sds = new SqlDataSource();
sds.ConnectionString = ConfigurationManager.ConnectionStrings[ "ConnStr "].ToString();
sds.InsertCommand = "Insert into T_Product(F_Name,F_Price,F_Unit) values(@Name,@Price,@Unit) ";
sds.InsertParameters.Add( "Name ", txtName.Text.Trim());
sds.InsertParameters.Add( "Price ", txtPrice.Text.Trim());
sds.InsertParameters.Add( "Unit ", txtUnit.Text.Trim());
sds.Insert();
}
3.有人直接用DataSet,操作行对象、列对象
4.有人创建一个数据操作的类,将用到的各个插入、删除、查询等当作类的方法,调用方法来操作数据.
5。还有人在VS2005中新建数据集,创建.xsd文件来执行一些类似操作,有时还配合ObjectDataSource控件
我现在被搞的晕极了,不知通常情况下,应该用哪种方法,查了一下msdn,好像上面这些方法都能找到影子,但我真想知道哪种方法才是大家最常用的,通用的方法是什么?请高人伸出你热情的手,指点一下吧!
------解决方案--------------------增 删 改
SQL SERVER我是认为应该放在存储过程里
不仅仅从效率上提升
可能你对增删改有事务的放在存储过程里也能更好的处理
论开发效率 运行效率和维护性 来说 存储过程是最好
查的话 涉及到复杂点的语句我一般也是放在存储过程里
如果非要放在CS里的话 , 一定要参数化SQL语句 最大的好处是可以防止注入
而且维护也相对轻松
------解决方案--------------------1. 最初我用SqlDataSource+GridView之类的快捷操作,但不久发现这个方法只在简单的情况下快捷,不通用,不灵活。
==================================
这个是给初学者用的,不能实现复杂的功能
2.后来用Command,类似下面的方法:
==================================
这个是纯写代码方式的,适合从2003转过来的
3.又发现有人使用SqlDataSource,类似下面的代码:
==================================
我一般教初学者都是方法 2 + 3,简单的功能用3,复杂的功能用2实现,用3的好处是不用再关心数据库的连接和打开,这些优化的工作可以让SqlDataSource完成
4.有人直接用DataSet,操作行对象、列对象
==================================
如果只是读数据,没必要用4,如果是进行简单的增删改,也没必要用4,如果你要打算对数据进行比较复杂的操作,可以用4,尤其适合winform类应用程序
5.有人创建一个数据操作的类,将用到的各个插入、删除、查询等当作类的方法,调用方法来操作数据.
==================================
使用三层架构的时候经常这样做
6.还