Microsoft.Practices.EnterpriseLibrary.Data 使用笔记
2009-09-20 00:26
537 查看
Database db = null; #region 一般调用 db = DatabaseFactory.CreateDatabase("Connection String"); int count = (int)db.ExecuteScalar(CommandType.Text, "SELECT Count(*) From cms_company"); string message = string.Format("There are {0} customers in the database", count.ToString()); Response.Write(message); #endregion #region 带返回参数,返回值和返回数据集,一般参数的存储过程 //CREATE PROCEDURE [dbo].[kword] //@kword varchar(250)='', //@top int, //@otop varchar(250) output //As //select top 10 * from Table1 where ntitle like '%'+@kword+'%' and id>@top //declare @flag int //select @flag=100 //SET @otop='返回值' //return @flag db = DatabaseFactory.CreateDatabase("serverConnectionString");//连接字符串变量名 DbCommand dbcomm = db.GetStoredProcCommand("kword");//存储过程名 db.AddInParameter(dbcomm, "@kword", DbType.String, "创业");//参数名 类型 值 db.AddInParameter(dbcomm, "top", DbType.Int32, 2);//参数名 类型 值 db.AddOutParameter(dbcomm, "otop", DbType.String, 250);//output参数名 类型 长度 //关键在这里,添加一个参数@RETURN_VALUE 类型为ReturnValue db.AddParameter(dbcomm, "@RETURN_VALUE", DbType.String, ParameterDirection.ReturnValue, "", DataRowVersion.Current, null); DataSet ds = db.ExecuteDataSet(dbcomm);//必须有执行的动作后面才能获取值 //title = (string)db.ExecuteScalar(dbcomm);如果返回只有一个数据,这样也是可以的 GridView1.DataSource = ds; GridView1.DataBind(); Response.Write("<br>output输出参数值:" + db.GetParameterValue(dbcomm, "otop").ToString()); // int testvalue = (int)dbcomm.Parameters["@RETURN_VALUE"].Value; //另一种获取值的方式 Response.Write("<br />return返回参数值:" + db.GetParameterValue(dbcomm, "RETURN_VALUE").ToString()); #endregion #region 使用事务记录操作数据库 //CREATE TABLE [dbo].[Table1]( // [id] [int] IDENTITY(1,1) NOT NULL, // [ntitle] [varchar](250) NOT NULL, // [valuea] [varchar](250) NULL, // CONSTRAINT [PK_Table1] PRIMARY KEY CLUSTERED //( // [ntitle] ASC //)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] //) ON [PRIMARY] db = DatabaseFactory.CreateDatabase("serverConnectionString"); using (IDbConnection conn = db.CreateConnection()) { conn.Open(); IDbTransaction _trans = conn.BeginTransaction(); try { DbCommand _cmd = db.GetSqlStringCommand("INSERT INTO [Table1]([ntitle],[valuea]) VALUES(@ntitle,@valuea)"); db.AddInParameter(_cmd, "ntitle", DbType.String, "AA"); db.AddInParameter(_cmd, "valuea", DbType.String, "AA"); db.ExecuteNonQuery(_cmd, _trans as DbTransaction); db.ExecuteNonQuery(_cmd, _trans as DbTransaction);//ntitle字段上建有唯一索引,故第二次插入同样记录时会报错 _trans.Commit(); } catch { try { _trans.Rollback();//事务提交失败时,则回滚(是否回滚成功,可查看表中有无AA的记录即可) } catch { } } finally { conn.Close(); } } #endregion
相关文章推荐
- Microsoft.Practices.EnterpriseLibrary.Data 使用笔记
- Microsoft.Practices.EnterpriseLibrary.Data 使用笔记
- Microsoft.Practices.EnterpriseLibrary.Data--使用存储过程,参数及事务
- Enterprise Library3.1 使用数据访问模块时,调用Microsoft.Practices.EnterpriseLibrary.Data报出源文件与当前应用程序不一致和创建dataconfiguration的配置节处理程序出错
- Microsoft.Practices.EnterpriseLibrary.Data 使用
- Microsoft.Practices.EnterpriseLibrary.Data 使用[转载]
- 在WebService中使用Microsoft.Practices.EnterpriseLibrary.Data配置数据库
- Microsoft.Practices.EnterpriseLibrary.Data--使用存储过程,参数及事务
- Microsoft.Practices.EnterpriseLibrary.Data--使用存储过程,参数及事务
- Microsoft.Practices.EnterpriseLibrary.Data--使用存储过程,参数及事务
- Enterprise Library 2.0 Logging Application Block日志组件使用除错笔记(“Microsoft.Practices.EnterpriseLibrary.Logging.Logger”的类型初始值设定项引发异常。 )
- Microsoft.Practices.EnterpriseLibrary.Data Microsoft.Practices.EnterpriseLibrary.Common 使用
- 使用Microsoft.Practices.EnterpriseLibrary.Data调用存数过程Output参数注意事项
- 使用Microsoft.Practices.EnterpriseLibrary.Validation.dll验证类成员
- 找不到方法 System.Data.IDataReader Microsoft.Practices.EnterpriseLibrary.Data.Oracle.OracleDatabase.ExecuteReader
- 微软企业库5.0系统(一):使用缓存 Microsoft.Practices.EnterpriseLibrary.Caching(高级篇)
- 如何解决如"未能加载文件或程序集“Microsoft.Practices.EnterpriseLibrary.Data, Version=4.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35”或
- Microsoft.Practices.EnterpriseLibrary for .Net2.0使用中的问题(相关问题持续更新)
- [EntLib]解决The type or namespace name 'Data' does not exist in the namespace 'Microsoft.Practices.EnterpriseLibrary' 的错误
- Microsoft.Practices.EnterpriseLibrary.Data.dll