百分急求 enterprise library 2.0中Updatedataset的使用详细解释-在线等

ermachao 2007-11-04 06:18:46
各位大侠,我以前使用 enterprise library 2.0 的Updataset 只是把一个datatable的数据update 到一个数据库中的表,但这次我是把数据update到多个不同的数据库表中,主要疑问如下:
1 加参数时所用的AddInParameter(DBcommand,Name,dbtype,sourcecolumnName,DataRowVersion)中的Name是指什么意思,是参数名吗?如果是,为什么不是存储过程中的@Name格式,如果是另有意思,那又是指什么呢?
 2 其中的DataRowVersion中的几个变量各代表什么意思
...全文
125 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
liaoenne 2007-11-07
  • 打赏
  • 举报
回复
我给你留言了哦,尽快恢复我。。。。
liaoenne 2007-11-07
  • 打赏
  • 举报
回复
也有此疑惑,关注。。。。。
ermachao 2007-11-04
  • 打赏
  • 举报
回复
To Cnming:

请看如下代码:

System.Data.Common.DbCommand insertCommand = null;
insertCommand = _db.GetStoredProcCommand("HOLAddProduct");
_db.AddInParameter(insertCommand, "ProductName",
DbType.String, "ProductName", DataRowVersion.Current);
_db.AddInParameter(insertCommand, "CategoryID",
DbType.Int32, "CategoryID", DataRowVersion.Current);
_db.AddInParameter(insertCommand, "UnitPrice",
DbType.Currency, "UnitPrice", DataRowVersion.Current);

System.Data.Common.DbCommand deleteCommand = null;
deleteCommand = _db.GetStoredProcCommand("HOLDeleteProduct");
_db.AddInParameter(deleteCommand, "ProductID",
DbType.Int32, "ProductID", DataRowVersion.Current);
_db.AddInParameter(deleteCommand, "LastUpdate",
DbType.DateTime, "LastUpdate", DataRowVersion.Original);

System.Data.Common.DbCommand updateCommand = null;
updateCommand = _db.GetStoredProcCommand("HOLUpdateProduct");
_db.AddInParameter(updateCommand, "ProductID",
DbType.Int32, "ProductID", DataRowVersion.Current);
_db.AddInParameter(updateCommand, "ProductName",
DbType.String, "ProductName", DataRowVersion.Current);
_db.AddInParameter(updateCommand, "CategoryID",
DbType.Int32, "CategoryID", DataRowVersion.Current);
_db.AddInParameter(updateCommand, "UnitPrice",
DbType.Currency, "UnitPrice", DataRowVersion.Current);
_db.AddInParameter(updateCommand, "LastUpdate",
DbType.DateTime, "LastUpdate", DataRowVersion.Current);

int rowsAffected = _db.UpdateDataSet(
this.dsProducts,
"Products",
insertCommand,
updateCommand,
deleteCommand,
UpdateBehavior.Standard);

在这里的Name都不以@***格式,虽然存储过程定义参数是以@**定义的,并请仔细阅读我的问题
cnming 2007-11-04
  • 打赏
  • 举报
回复
AddInParameter增加存储过程的参数,Name是存储过程参数的名称

                string m_strCommand = "pro_T_Common_ItemType_Delete";

Microsoft.Practices.EnterpriseLibrary.Data.Database DB = Microsoft.Practices.EnterpriseLibrary.Data.DatabaseFactory.CreateDatabase(p_ConnString);

System.Data.Common.DbConnection Conn = DB.CreateConnection();
Conn.Open();
Tran = Conn.BeginTransaction();

System.Data.Common.DbCommand dbc = DB.GetStoredProcCommand(m_strCommand);

DB.AddInParameter(dbc, "@ItemType", System.Data.DbType.Int32, entity.ItemType);

110,536

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧