public class ConnDB
{
/// <summary>
/// 得到数据库连接字符串
/// </summary>
/// <returns>返回数据库连接字符串</returns>
  public static string ConnectionString()
   {
   return "user id=sa;password=sa;server=(local).;initial catalog=数据库名称";   }
/// <summary>
/// 执行update或insert数据库操作
/// </summary>
/// <param name="ConnString">数据库连接字符串</param>
/// <param name="CommText">执行操作的sql语句</param>
/// <returns></returns>
  public static void ExecNonQueryData(string ConnString,string CommText)
   {
 

     SqlConnection conn=new SqlConnection(ConnString);
     conn.Open();
     SqlCommand comm=new SqlCommand(CommText,conn);
     comm.ExecuteNonQuery();
     conn.Close(); 



   }
    /// <summary>
   /// 执行select查询数据库操作
   /// </summary>
  /// <param name="ConnString">数据库连接字符串</param>
  /// <param name="CommText">执行操作的sql语句</param>
  /// <returns>查询返回的SqlDataReader</returns>
public static SqlDataReader ExecDataReader(string ConnString,string CommText)
 {
 
  SqlConnection conn=new SqlConnection(ConnString);
  conn.Open();
  SqlCommand comm=new SqlCommand(CommText,conn);
 return comm.ExecuteReader(CommandBehavior.CloseConnection);
 }
}
我做了一个简单的数据库操作类,后面两个方法的ConnString传入ConnDB.ConnectionString(),每次都分别建立conn对象,我好象见别人做的是先在属性中建立conn对象,然后其他方法用同一个conn对象,我这样做有什么不妥吗,新手拜谢了!

解决方案 »

  1.   

    微软有做好的
    搜一下DataAccessApplicationBlock
      

  2.   

    楼主这个方法用问题啊!!
    示例:(第一个类)
    namespace Guestbook.Object
    {
        public class Dbobject
        {
            protected OleDbConnection Connection;
            private string ConnString;
            public Dbobject()
            {
                ConnString = ConfigurationManager.ConnectionStrings["connstring"].ConnectionString + HttpContext.Current.Server.MapPath(ConfigurationManager.ConnectionStrings["datapaht"].ConnectionString);
                Connection = new OleDbConnection(ConnString);
            }
        }
    }第二个类:
    导入第一个命名空间,
    using Guestbook.Object;直接
    namespace Guestbook.Operate
    {
        public class Dboperate:Dbobject //注意此处
        {
    //在里面的函数中直接Connection.open()就可以了
    }
    }