| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 679 人关注过本帖, 1 人收藏
标题:工厂提供器DbProviderFactory 实现多种数据库类型类型的DBhelper
只看楼主 加入收藏
lxb932979339
Rank: 5Rank: 5
等 级:职业侠客
威 望:4
帖 子:84
专家分:313
注 册:2013-4-24
结帖率:100%
收藏(1)
 问题点数:0 回复次数:1 
工厂提供器DbProviderFactory 实现多种数据库类型类型的DBhelper
程序代码:
class DBHelper
    {
        private DbConnection con;
        private DbCommand com;
        private DbProviderFactory provider;
      
        public DBHelper(int appItemsIndex) 
        {  
            string providerName = ConfigurationManager.ConnectionStrings[appItemsIndex].ProviderName; 
            provider=DbProviderFactories.GetFactory(providerName);  
            con = provider.CreateConnection();
            con.ConnectionString = ConfigurationManager.ConnectionStrings[appItemsIndex].ConnectionString;
            com = provider.CreateCommand();
            com.Connection = con;
            //DbParameter a=provider .created
        }
       
        public int ExecuteNonQury(string sqlStr,params DbParameter[] parameter)
        {
            con.Open();
             = CommandType.Text;
             = sqlStr;
            if (parameter != null || parameter.Length > 0)
            {
                com.Parameters.AddRange(parameter);
            }
            int rel = com.ExecuteNonQuery();
            return rel;
            con.Close();
        }
        public DataTable Table()
        {
            string sqlStr = "select * from T_person";
             = CommandType.Text;
             = sqlStr;
            DbDataAdapter ad = provider.CreateDataAdapter();
            ad.SelectCommand = com;
            DataTable tb = new DataTable();
            ad.Fill(tb);
            return tb;
        }
    }
class DAL
    {
        public int ExecuteNonQury()
        {
            string sqlStr = "delete from T_person where id='@ID'";
            return new DBHelper ().ExecuteNonQury (sqlStr , ????
        }
    }
问号那,该怎么写,希望大家能帮帮忙,或者给我一些例子也行,(这块不太熟),是不是在ExecuteNonQury方法的参数(params DbParameter[] parameter)设置有问题

[ 本帖最后由 lxb932979339 于 2013-5-1 12:28 编辑 ]
搜索更多相关主题的帖子: 数据库 
2013-05-01 06:46
lxb932979339
Rank: 5Rank: 5
等 级:职业侠客
威 望:4
帖 子:84
专家分:313
注 册:2013-4-24
收藏
得分:0 
现在做出效果了,就是在DbHelper类中添加一个方法:
程序代码:
 public DbParameter DBParameter(string parameterName, DbType dbType, object parameterValue)
        {
            DbParameter parameter = provider.CreateParameter();
            parameter.ParameterName = parameterName;
            parameter.DbType = dbType;
            parameter.Value = parameterValue;
            return parameter;
        }
然后在问号那调用方法,传递参数就行了
但是总觉得总体写的不规范,谁有更规范的示例,指点下呗,谢了

[ 本帖最后由 lxb932979339 于 2013-5-1 15:30 编辑 ]
2013-05-01 15:09
快速回复:工厂提供器DbProviderFactory 实现多种数据库类型类型的DBhelper
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.019906 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved