数据库

ADO的结构图如下:
 
   connection       commandText
 
sql---->sqlConnection--->sqlCammand.ExecuteNonQuery():增,删,改(返回一个值)受影响的行数。
 
                                                               .ExecuteScalar():查询,(返回查询结果的第一行第一列的值)。
 
                                                               .ExecuteReader()----->SqlDataReader.(数据阅读器),查询(不能增删改)

sql---->sqlConnection--->sqlCammand --->  SqlDataAdapter .InsertCommand    增       |
 
                                              (数据适配器) SqlDataAdapter .DeleteCommand    删      |
 
                                                                         SqlDataAdapter . UpdateCommand    改     |    fill ()---->DataSet(数据集)
 
                                                                           SqlDataAdapter . SelectCommand     查     |

 示例说明:
 



?





SqlConnection myConn;    //用于连接数据库

   SqlCommand myCmd;        //用于执行Sql语句

   DataSet ds;              //数据集

   SqlDataAdapter adapt;    //填充数据集

 

 

public DbClass()

{

}

   /// <summary>

   /// 连接数据库

   /// </summary>

   /// <returns>返回SqlConnection对象</returns>

   public SqlConnection GetConnection()

   {

      

 

       string myStr = Convert.ToString(ConfigurationManager.ConnectionStrings["SqlServices"]);

        myConn = new SqlConnection(myStr );

        return myConn;

   }

 

   /// <summary>

   /// 更新数据库

   /// </summary>

   /// <param name="strSql">sqlStr执行的SQL语句</param>

   public void ExecNonQuery(string strSql)       //主要用于执行不需返回值的操作:更新,插入,删除

   {

        

       try

       {

           myConn = GetConnection();//与数据库连接

           myCmd = new SqlCommand();//初始化SqlCommand类对象

           myCmd.Connection = myConn;

 

           myCmd.CommandText = strSql;

           if (myCmd.Connection.State != ConnectionState.Open)

           {

               myCmd.Connection.Open();//打开与数据库的连接

           }

           myCmd.ExecuteNonQuery();//执行Sql操作,并返回受影响的行数

 

       }

       catch (Exception ex)

       {

           throw new Exception(ex.Message, ex);

 

       }

       finally

       {

           if (myCmd.Connection.State == ConnectionState.Open)

           {//断开连接,释放资源

               myCmd.Connection.Close();

               myConn.Dispose();

               myCmd.Dispose();

 

           }

       }

   }

   /// <summary>

   /// 返回一个值

   /// </summary>

   /// <param name="strSql">sqlStr执行的SQL语句</param>

   /// <returns>返回获取的值</returns>

   public string ExecScalar(string strSql)  //        有返回值,主要用于查询

   {

     

       try

       {

           myConn = GetConnection();//与数据库连接

           myCmd = new SqlCommand();//初始化SqlCommand类对象

           myCmd.Connection = myConn;

 

           myCmd.CommandText = strSql;

 

           if (myCmd.Connection.State != ConnectionState.Open)

           {

               myCmd.Connection.Open();//打开与数据库的连接

           }

           //使用SqlCommand对象的ExecuteScalar方法返回第一行第一列的值

           strSql=Convert.ToString(myCmd.ExecuteScalar());

           return strSql ;

 

       }

       catch (Exception ex)

       {

           throw new Exception(ex.Message, ex);

 

       }

       finally

       {

           if (myCmd.Connection.State == ConnectionState.Open)

           {//断开连接,释放资源

               myConn.Dispose();

               myCmd.Connection.Close();

               myCmd.Dispose();

 

           }

       }

    

   }

   /// <summary>

   /// 说  明:  GetDataSet数据集,返回数据源的数据表

   /// 返回值:  数据源的数据表

   /// 参  数:  sqlStr执行的SQL语句,TableName 数据表名称

   /// </summary>

   public DataTable GetDataSet(string strSql, string TableName)

   {

       ds= new DataSet();

       try

       {

           myConn = GetConnection();//与数据库连接

 

           adapt = new SqlDataAdapter(strSql, myConn); //实例化SqlDataAdapter类对象

           adapt.Fill(ds,TableName);//填充数据集

 

           return ds.Tables[TableName];//返回数据集DataSet的表的集合

 

       }

       catch (Exception ex)

       {

           throw new Exception(ex.Message, ex);

 

       }

       finally

       {//断开连接,释放资源

           myConn.Close();

           adapt.Dispose();

           ds.Dispose();

           myConn.Dispose();

            

       }

 

   } 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值