现在,在Web应用的开发,要用DataAdapter和DataSet合作,去批量更新数据,看了一些例子,但是都不是很全,想请教几个问题:
第一,这个技术的稳定性怎么样?实际应用中大家用得多吗?建议使用吗?
第二,能不能给我一个完整的例子.
第三,DataAdapter.InsertCommand,UpdateCommand中能调用存储过程吗?
1. 估计稳定性还是不错的,除了显得不那么专业以外。如果是做正式的商业产品,最好还是用SQL语句。
2. 网上有很多这样的例子:
SqlConnection conn = new SqlConnection("...");
conn.Open();
SqlDataAdapter da = new SqlDataAdapter("select * from table1", conn);
DataSet ds = new DataSet();
da.Fill(ds);
ds.Tables[0].Rows[0][0] = "Change Data";
SqlCommandBuilder cb = new SqlCommandBuilder(da);
da.Update(ds);
3. 可以。你可以自己建立InsertCommand的所有属性。
稳定性很好啊!!
你同样可以加入事务处理;
当然能调用存储过程了!
事务处理例子
cnn.ConnectionString=new dbConn ().ConnectionString ;
// string sConn;
System.Data.SqlClient.SqlTransaction tran;
cnn.Open ();
tran=cnn.BeginTransaction ();
try
{
da.UpdateCommand.Transaction =tran;
da.InsertCommand.Transaction =tran;
da.DeleteCommand.Transaction =tran;
da.Update(ds,"content");
tran.Commit();
cnn.Close ();
}
catch(Exception e)
{
tran.Rollback ();
cnn.Close ();
throw e;
}
}