数据库

来源:互联网 发布:linux手动添加用户 编辑:程序博客网 时间:2024/06/08 15:10
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();                   }    } 

原创粉丝点击