ASP.NET[C#]的ACCESS数据库操作类

来源:互联网 发布:宁波市行知实验小学 编辑:程序博客网 时间:2024/06/05 00:31
ASP.NET[C#]的ACCESS数据库操作类

      //网上很多都是操作SQL SER 的,整理了一下,不是很完善,但不影响使用,呵呵……
//private string datapatch = ConfigurationSettings.AppSettings["acessconn"];//数据库地址 private string datapatch = "db/global.asa";//数据库地址 /// /// 取得dataset /// /// 查询语句 /// public DataSet GetDataSet(string Commandtext) { string strConnection = "Provider=Microsoft.Jet.OLEDB.4.0; " + "Data Source=" + Server.MapPath(datapatch); string strCommandText = Commandtext; OleDbConnection myConnection = new OleDbConnection(strConnection); myConnection.Open(); OleDbDataAdapter myAdpater = new OleDbDataAdapter(strCommandText,myConnection); OleDbCommandBuilder myBuilder = new OleDbCommandBuilder(myAdpater); DataSet myDataset = new DataSet(); myAdpater.Fill(myDataset); myConnection.Close(); return myDataset; } /// /// 取得表 /// /// 查询语句 /// public DataTable GetDataTable(string Commandtext) { string strConnection = "Provider=Microsoft.Jet.OLEDB.4.0; " + "Data Source=" + Server.MapPath(datapatch); string strCommandText =Commandtext; OleDbConnection myConnection = new OleDbConnection(strConnection); myConnection.Open(); OleDbDataAdapter myAdpater = new OleDbDataAdapter(strCommandText,myConnection); OleDbCommandBuilder myBuilder = new OleDbCommandBuilder(myAdpater); DataSet myDataset = new DataSet(); myAdpater.Fill(myDataset); DataTable mytable = myDataset.Tables[0]; myConnection.Close(); return mytable; } /// /// 取得某行的某列的值 /// /// 列的名称 /// 所属表名 /// 表的主键 /// 列所属的主键值 /// public string GetDataColum(string strColumnName,string strTableName,string strColumnkey,string strColumnValue) { string strConnection = "Provider=Microsoft.Jet.OLEDB.4.0; " + "Data Source=" + Server.MapPath(datapatch); string strCommandText = "select "+strColumnName+","+strColumnkey+" from "+strTableName; OleDbConnection myConnection = new OleDbConnection(strConnection); myConnection.Open(); OleDbDataAdapter myAdpater = new OleDbDataAdapter(strCommandText,myConnection); OleDbCommandBuilder myBuilder = new OleDbCommandBuilder(myAdpater); DataSet myDataset = new DataSet(); myAdpater.MissingSchemaAction = MissingSchemaAction.AddWithKey; myAdpater.Fill(myDataset); myConnection.Close(); DataTable mytable = myDataset.Tables[0]; DataRow mydr = mytable.Rows.Find(strColumnValue); string mydc = mydr[strColumnName].ToString(); return mydc; } /// /// 更新某个字段 /// /// 要更新字段名称 /// 要更新的值 /// 所属表名称 /// 表中KEY /// 表中KEY的值 public void UpdateColum(string strColumnName,string strValue,string strTableName,string strColumnKey,string strColumnValue) { string strConnection = "Provider=Microsoft.Jet.OLEDB.4.0; " + "Data Source=" + Server.MapPath(datapatch); string strCommandText = "select "+strColumnKey+","+strColumnName+" from "+strTableName; OleDbConnection myConnection = new OleDbConnection(strConnection); myConnection.Open(); OleDbDataAdapter myAdpater = new OleDbDataAdapter(strCommandText,myConnection); OleDbCommandBuilder myBuilder = new OleDbCommandBuilder(myAdpater); DataSet myDataset = new DataSet(); myAdpater.MissingSchemaAction = MissingSchemaAction.AddWithKey; myAdpater.Fill(myDataset,strTableName); DataRow drFindRow = myDataset.Tables[strTableName].Rows.Find(strColumnValue); drFindRow[strColumnName] = strValue; myAdpater.Update(myDataset,strTableName); myConnection.Close(); } /// /// 添加行 /// /// 此行中的字段集合 /// 此行中的字段集合的对应值 /// 所属表名称 /// 表中主键 public void AddRow(string[]columns,string[]columnvalue,string strTableName,string strColumnKey) { string strConnection = "Provider=Microsoft.Jet.OLEDB.4.0; " + "Data Source=" + Server.MapPath(datapatch); string strColumnCount = ""; foreach(string thiscolunmname in columns) { strColumnCount = thiscolunmname+","+strColumnCount; } string strCommandText = "select "+strColumnCount+strColumnKey+" from "+strTableName; OleDbConnection myConnection = new OleDbConnection(strConnection); myConnection.Open(); OleDbDataAdapter myAdpater = new OleDbDataAdapter(strCommandText,myConnection); OleDbCommandBuilder myBuilder = new OleDbCommandBuilder(myAdpater); DataSet myDataset = new DataSet(); myAdpater.Fill(myDataset,strTableName); DataRow newrow = myDataset.Tables[strTableName].NewRow(); for(int i=0;i<columns.Length;i++) { string strColumnName = columns[i].ToString(); newrow[strColumnName] = columnvalue[i].ToString(); } myDataset.Tables[strTableName].Rows.Add(newrow); myAdpater.Update(myDataset,strTableName); myConnection.Close(); }/// /// 更新数据行/// /// 要更新的列集合/// 要更新的列集合的对应值/// 所属表名称/// 表主键/// 行所属的ID public void updateRow(string[]columns,string[]columnvalue,string strTableName,string strColumnKey,string strColumnValue) { string strConnection = "Provider=Microsoft.Jet.OLEDB.4.0; " + "Data Source=" + Server.MapPath(datapatch); string strColumnCount = ""; foreach(string thiscolunmname in columns) { strColumnCount = thiscolunmname+","+strColumnCount; } string strCommandText = "select "+strColumnCount+strColumnKey+" from "+strTableName; OleDbConnection myConnection = new OleDbConnection(strConnection); myConnection.Open(); OleDbDataAdapter myAdpater = new OleDbDataAdapter(strCommandText,myConnection); OleDbCommandBuilder myBuilder = new OleDbCommandBuilder(myAdpater); DataSet myDataset = new DataSet(); myAdpater.MissingSchemaAction = MissingSchemaAction.AddWithKey; myAdpater.Fill(myDataset,strTableName); DataRow updaterow = myDataset.Tables[strTableName].Rows.Find(strColumnValue); for(int i=0;i<columns.Length;i++) { string strColumnName = columns[i].ToString(); updaterow[strColumnName] = columnvalue[i].ToString(); } myAdpater.Update(myDataset,strTableName); myConnection.Close(); }  /// /// 删除行 /// /// 所属表 /// 主键字段名 /// 此行主键值 public void delectRow(string strTableName,string strColumnKey,string strColumnValue) { string strConnection = "Provider=Microsoft.Jet.OLEDB.4.0; " + "Data Source=" + Server.MapPath(datapatch); string strCommandText = "select "+strColumnKey+" from "+strTableName; OleDbConnection myConnection = new OleDbConnection(strConnection); myConnection.Open(); OleDbDataAdapter myAdpater = new OleDbDataAdapter(strCommandText,myConnection); OleDbCommandBuilder myBuilder = new OleDbCommandBuilder(myAdpater); DataSet myDataset = new DataSet(); myAdpater.MissingSchemaAction = MissingSchemaAction.AddWithKey; myAdpater.Fill(myDataset,strTableName); DataRow newrow = myDataset.Tables[strTableName].Rows.Find(strColumnValue); newrow.Delete(); myAdpater.Update(myDataset,strTableName); myConnection.Close(); }//----------------------------------------------------------------------------------