出处:Microsoft.Practices.EnterpriseLibMicrosoft.Practices.EnterpriseLibrary.Data 数据库操作 - 米高佐敦 - 博客园Microsoft.Practices.EnterpriseLib

  1. Database db = null;
  2. #region 一般调用
  3. db = DatabaseFactory.CreateDatabase("Connection String");
  4. int count = (int)db.ExecuteScalar(CommandType.Text, "SELECT Count(*) From cms_company");
  5. string message = string.Format("There are {0} customers in the database", count.ToString());
  6. Response.Write(message);
  7. #endregion
  8. #region 带返回参数,返回值和返回数据集,一般参数的存储过程
  9. //CREATE PROCEDURE [dbo].[kword]
  10. //@kword varchar(250)='',
  11. //@top int,
  12. //@otop varchar(250) output
  13. //As
  14. //select top 10 * from Table1 where ntitle like '%'+@kword+'%' and id>@top
  15. //declare @flag int
  16. //select @flag=100
  17. //SET @otop='返回值'
  18. //return @flag
  19. db = DatabaseFactory.CreateDatabase("serverConnectionString");//连接字符串变量名
  20. DbCommand dbcomm = db.GetStoredProcCommand("kword");//存储过程名
  21. db.AddInParameter(dbcomm, "@kword", DbType.String, "创业");//参数名 类型 值
  22. db.AddInParameter(dbcomm, "top", DbType.Int32, 2);//参数名 类型 值
  23. db.AddOutParameter(dbcomm, "otop", DbType.String, 250);//output参数名 类型 长度
  24. //关键在这里,添加一个参数@RETURN_VALUE 类型为ReturnValue
  25. db.AddParameter(dbcomm, "@RETURN_VALUE", DbType.String, ParameterDirection.ReturnValue, "", DataRowVersion.Current, null);
  26. DataSet ds = db.ExecuteDataSet(dbcomm);//必须有执行的动作后面才能获取值
  27. //title = (string)db.ExecuteScalar(dbcomm);如果返回只有一个数据,这样也是可以的
  28. GridView1.DataSource = ds;
  29. GridView1.DataBind();
  30. Response.Write("<br>output输出参数值:" + db.GetParameterValue(dbcomm, "otop").ToString());
  31. // int testvalue = (int)dbcomm.Parameters["@RETURN_VALUE"].Value; //另一种获取值的方式
  32. Response.Write("<br />return返回参数值:" + db.GetParameterValue(dbcomm, "RETURN_VALUE").ToString());
  33. #endregion
  34. #region 使用事务记录操作数据库
  35. //CREATE TABLE [dbo].[Table1](
  36. //    [id] [int] IDENTITY(1,1) NOT NULL,
  37. //    [ntitle] [varchar](250) NOT NULL,
  38. //    [valuea] [varchar](250) NULL,
  39. // CONSTRAINT [PK_Table1] PRIMARY KEY CLUSTERED
  40. //(
  41. //    [ntitle] ASC
  42. //)WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY]
  43. //) ON [PRIMARY]
  44. db = DatabaseFactory.CreateDatabase("serverConnectionString");
  45. using (IDbConnection conn = db.CreateConnection())
  46. {
  47. conn.Open();
  48. IDbTransaction _trans = conn.BeginTransaction();
  49. try
  50. {
  51. DbCommand _cmd = db.GetSqlStringCommand("INSERT INTO [Table1]([ntitle],[valuea]) VALUES(@ntitle,@valuea)");
  52. db.AddInParameter(_cmd, "ntitle", DbType.String, "AA");
  53. db.AddInParameter(_cmd, "valuea", DbType.String, "AA");
  54. db.ExecuteNonQuery(_cmd, _trans as DbTransaction);
  55. db.ExecuteNonQuery(_cmd, _trans as DbTransaction);//ntitle字段上建有唯一索引,故第二次插入同样记录时会报错
  56. _trans.Commit();
  57. }
  58. catch
  59. {
  60. try
  61. {
  62. _trans.Rollback();//事务提交失败时,则回滚(是否回滚成功,可查看表中有无AA的记录即可)
  63. }
  64. catch { }
  65. }
  66. finally
  67. {
  68. conn.Close();
  69. }
  70. }
  71. #endregion

Microsoft.Practices.EnterpriseLibrary.Data 数据库操作相关推荐

  1. webservice mysql配置文件_在WebService中使用Microsoft.Practices.EnterpriseLibrary.Data配置数据库...

    标签: 1. 新建WebApplication1项目 1.1 新建-Web-ASP.NET Empty Web Application--WebApplication1 1.2 添加一个WebForm ...

  2. 使用Microsoft.Practices.EnterpriseLibrary.Data调用存数过程Output参数注意事项

    最近拿了一个开源的源码看了下,在调试的过程中发现调用存数过程的output参数的时候一直出错,现在将问题记录下来. 问题描述: 1. 使用Microsoft.Practices.EnterpriseL ...

  3. 解决: 未能加载文件或程序集“Microsoft.Practices.EnterpriseLibrary.Data,

    在文件夹中找到这几个文件,替换成合适的版本即可

  4. WCF-004:WCF中也可以使用Microsoft.Practices.EnterpriseLibrary

    在WCF服务中我一直是使用ADO.NET 实体模型来连接数据和操作数据库的,刚开始用时觉得比较新鲜,因为linq与sql语句的基本操作都有对应的使用方法,而且能直接获取到数据表的模型,大多情况下还是比 ...

  5. Microsoft.Practices.EnterpriseLibrary连接Oracle

    Microsoft Enterprise Library用起来也是挺不错的,对于习惯自己写sql语句的开发者们,这个应该挺好的.下面以连接Oracle为例简单介绍下如何连接数据库. 首先下载Micro ...

  6. Microsoft.Practices.EnterpriseLibrary

    项目中使用了Microsoft.Practices.EnterpriseLibrary这个东西,根据名字猜测和微软有关系(可以翻译为:微软实践企业库). 看到了引入了两个命名空间: using Mic ...

  7. oracle杨树,Microsoft.Practices.EnterpriseLibrary连接Oracle

    Microsoft Enterprise Library用起来也是挺不错的,对于习惯自己写sql语句的开发者们,这个应该挺好的.下面以连接Oracle为例简单介绍下如何连接数据库. 首先下载Micro ...

  8. 微软企业库(Microsoft Enterprise Library Data Access Block)

    1. Dynamic-link library Microsoft.Practices.ObjectBuilder.dll Microsoft.Practices.EnterpriseLibrary. ...

  9. 06--MySQL自学教程:DML(Data Manipulation Language:数据库操作语言),只操作表

    1.DML(Data Manipulation Language:数据库操作语言) 1)DML(Data Manipulation Language:数据库操作语言): 只操作表(插入,删除,修改), ...

最新文章

  1. 浏览器加载本地html页面,在浏览器字段中加载本地HTML文件时是否显示白屏?
  2. 视频豪横时代,应用如何快速构建视频点播能力?
  3. centos mysql 连接数_CentOS7.2_调整mysql数据库最大连接数
  4. Java编程中值得注意的对象引用现象
  5. 2019.NET Conf China,.NET之崛起,已势不可挡
  6. 七年级计算机教学质量分析,七年级数学期末教学质量分析报告
  7. 第一场“直播相声”来了!罗永浩宣布独家签约抖音:不赚钱,交个朋友
  8. 边界安全技术简要说明
  9. 记住没:永远不要在 MySQL 中使用 UTF-8
  10. 2018年阿里巴巴前端开源项目汇总
  11. 在html中字怎么修改位置,css怎么设置字体位置?
  12. Facial Emotion Recognition: State of the Art Performance on FER2013
  13. 聚类 Cluster
  14. Linux如何带压缩密码的7z,Linux 压缩和解压 7z
  15. python定义复数数组_python数组
  16. Asp.net实现即时消息通讯(Ajax)
  17. 我的Java学习之路(六)-- 银行卡系统
  18. Python中Gradient Boosting Machine(GBM)方法以及调参详解
  19. [GIS笔记] 模型篇-数据模型、空间数据模型、GIS数据模型、逻辑数据模型的种类
  20. H5音乐播放器登陆界面源码:

热门文章

  1. java 文字生成pdf,并创建自定义表单域pdf模板
  2. ftp,sftp读取文件
  3. Java枚举and单例
  4. 智能搜索引擎 | 驱动电商业务增长实践
  5. docker 运行 jar包
  6. 微信小程序手指拖动 出现滑动下拉效果
  7. php while循环
  8. Antd Pro v4入门
  9. 后端工程师入门Ant Design Pro
  10. 魅力数学(国内外知名数学家、数学教育家参编)