解决方案 »
- 【非C#高手不能解决!!!】
- 求c#比较有水准的视频教程,现在很多,不知谁的最好,少走弯路,先问问吧
- winForm怎样保存richertextbox中的样式?
- directshow做的播放器
- 关于datagridview选取行双击事件问题
- 【经典问题】【迫切需要】怎么设计程序部署才能在程序安装的时候实现如下功能?
- web页间怎样传送数据,能给段代码吗?放血100分
- 菜鸟问题,请不吝赐教!
- 求asp.net帮助下载!**********在线等待!!!!
- 对不起各位了,WebService版人太少,所以到这里来问个问题:ArrayList如何在WebService中作为返回值传递
- 动态跳转问题
- 关于socket代理
第三:界面调用ArrayList ParaModuleId = new ArrayList();//记录纪录的条数
ArrayList ParaSetInf = new ArrayList();//key
ArrayList ParaSetValue = new ArrayList();//valuefor (int i=0;i<10;i++)
{
ParaModuleId.Add("NULL");
//调用添加操作
ParaSetInf.Add("EDITTYPE");
ParaSetValue.Add("Add");//如果是删除操作改成Delete
//如果是事务加上下面两行
//ParaSetInf.Add("IS_TRANSACTION");
//ParaSetValue.Add("Yes");
//如果是编辑操作(加上下面的两句)
//ParaSetInf.Add("UPDATED_VERSION");
//ParaSetValue.Add("记录的版本控制 如更新时间字段");
ParaSetInf.Add("S#");
ParaSetValue.Add(i);
ParaSetInf.Add("SNAME");
ParaSetValue.Add("name");
ParaSetInf.Add("SAGE");
ParaSetValue.Add(23);
ParaSetInf.Add("SSEX");
ParaSetValue.Add("1");
}
//下面加参数(大家用自己的DBhelper吧)
IDbCommand cmd = this.DbHelper.GetStoredProcCommond(spName);
//构建pParaModuleId数组参数
(this.DbHelper.AddInParameter(cmd, "pParaModuleId", OracleDbType.Varchar2, ParaModuleId.ToArray(typeof(string)), ParaModuleId.Count) as OracleParameter).CollectionType = OracleCollectionType.PLSQLAssociativeArray;//指定类型很重要!!
//构建pParaSetInf数组参数
(this.DbHelper.AddInParameter(cmd, "pParaSetInf", OracleDbType.Varchar2, ParaSetInf.ToArray(typeof(string)), ParaSetInf.Count) as OracleParameter).CollectionType = OracleCollectionType.PLSQLAssociativeArray;
//构建pParaSetValue数组参数
(this.DbHelper.AddInParameter(cmd, "pParaSetValue", OracleDbType.Varchar2, ParaSetValue.ToArray(typeof(string)), ParaSetValue.Count) as OracleParameter).CollectionType = OracleCollectionType.PLSQLAssociativeArray;
//构建vMakeMan数组参数
this.DbHelper.AddInParameter(cmd, "vMakeMan", OracleDbType.Varchar2, SessionManagement.Sessions[request.SessionId].UserName, 20);
//构建vExeInf数组参数
IDbDataParameter OracleExeInf = this.DbHelper.AddOutParameter(cmd, "vExeInf", OracleDbType.Varchar2, 4000);
this.DbHelper.ExecuteNonQuery(cmd);//调用执行
/*如果是事务的话,如下写法
using (IDbConnection con = this.DbHelper.CreateConnection())
{
con.Open();
using (IDbTransaction transaction = con.BeginTransaction())
{
try
{
this.DbHelper.ExecuteNonQuery(cmd);//调用执行
transaction.Commit();
}
catch (Exception ea)
{
transaction.Rollback();
throw ea;
}
finally
{
con.Close();
}
}
}*/第四步:加精推荐后发自动生成脚本(选择表就直接产生代码)。