企业库是如何调用存储过程的

企业库

 第一步、添加程序集引用

需要在项目中添加对下列程序集的引用

Microsoft.Practices.EnterpriseLibrary.Common.dll

Microsoft.Practices.EnterpriseLibrary.Data.dll

Microsoft.Practices.ObjectBuilder2.dll

Microsoft.Practices.Unity.dll

 第二步、使用命名空间

           using Microsoft.Practices.EnterpriseLibrary.Common;

           using Microsoft.Practices.EnterpriseLibrary.Data;

           using System.Data.Common;

 第三步、在Webconfig配置连接字符串

 <connectionStrings>

    <add name="DefaultConnection" providerName="System.Data.SqlClient" connectionString="Data Source=.;Initial Catalog=DBStu;Integrated Security=True" />

  </connectionStrings>

第四步、连接数据库

      Database db = DatabaseFactory.CreateDatabase("DefaultConnection");

第五步、方法

 1.执行增删改sql语句

 public int Add(Student Stu)
{
string sql = "insert into student values(@sname,@sex,@sex)";
DbCommand cmd = db.GetSqlStringCommand(sql);
db.AddInParameter(cmd, "@name", DbType.String, Stu.Sname);
db.AddInParameter(cmd, "@sex", DbType.String, Stu.Sex);
db.AddInParameter(cmd, "@age", DbType.Int32, Stu.Age);
return db.ExecuteNonQuery(cmd);
}

ADO中使用SQLParameter 企业库中使用AddInParameter 需要转类型

 

 2.执行存储过程

  public int Regist(T_Users user)

        {

            string str = "P_RegistUsers";  存储过程名称

            DbCommand cmd = db.GetStoredProcCommand(str);

            db.AddInParameter(cmd,"@USERS_NAME",DbType.String,user.USERS_NAME);

            db.AddInParameter(cmd, "@USERS_PWD", DbType.String, user.USERS_PWD);

          db.AddInParameter(cmd,"@USERS_EMAIL",DbType.String,user.USERS_EMAIL);

          db.AddInParameter(cmd,"@USERS_PHONE",DbType.String,user.USERS_PHONE);

        db.AddInParameter(cmd,"@Users_Idcard",DbType.String,user.Users_Idcard);

            db.AddInParameter(cmd, "@Users_State", DbType.Int32, 1);

            db.AddInParameter(cmd,"@Regist_Date",DbType.DateTime,DateTime.Now);

            int i = Convert.ToInt32(db.ExecuteNonQuery(cmd));

            return i;

        }

执行SQL语句使用GetSqlStringCommand  

执行存储过程使用GetStoredProcCommand

3、返回数据

 public List<V_Users> Get_V_Users()

        {

            string str = "SELECT * FROM V_Users";

            DbCommand cmd = db.GetSqlStringCommand(str);

            List<V_Users> list = new List<V_Users>();

            IDataReader da = db.ExecuteReader(cmd);

            while (da.Read())

            {

                V_Users user = new V_Users();

                user.USERS_ID = Convert.ToInt32(da["USERS_ID"]);

                user.USERS_NAME = da["USERS_NAME"].ToString();

                user.USERS_PWD = da["USERS_PWD"].ToString();

                user.USERS_EMAIL = da["USERS_EMAIL"].ToString();

                user.USERS_PHONE = da["USERS_PHONE"].ToString();

                user.Users_Idcard = da["Users_Idcard"].ToString();

                user.Role_Name = da["Role_Name"].ToString();

                list.Add(user);

            }

            return list;

        }

 

       ADO中使用DataReader 返回数据

       而企业库使用IDataReader  需要引入命名空间:using System.Data;

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值