zoukankan      html  css  js  c++  java
  • 如何使用.net访问Access数据库 (转)

    前言:今天整理程序,看到之前写的一个Demo,也不知道是从哪里参考的了,写到这里,留作备用吧。

    使用.net访问Access数据库:
    1.BL层:新增一个DataAccess类。


    using System;
    using System.Data;
    using System.Configuration;
    using System.Web;
    using System.Web.Security;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Web.UI.WebControls.WebParts;
    using System.Web.UI.HtmlControls;
    using System.Data.OleDb;

    namespace Haley.FrameWork
    {

        
    /// <summary>
        
    /// DataAccess 的摘要说明
        
    /// </summary>

        public class DataAccess
        
    {
            
    protected static OleDbConnection conn = new OleDbConnection();
            
    protected static OleDbCommand comm = new OleDbCommand();
            
    public DataAccess()
            
    {
                
    //init
            }


            
    /// <summary>
            
    /// 打开数据库
            
    /// </summary>

            private static void openConnection()
            
    {
                
    if (conn.State == ConnectionState.Closed)
                
    {
                    conn.ConnectionString 
    = @"Provider=Microsoft.Jet.OleDb.4.0;Data Source=" + ConfigurationManager.AppSettings["myconn"];//web.config文件里设定。             
                    comm.Connection = conn;
                    
    try
                    
    {
                        conn.Open();
                    }

                    
    catch (Exception e)
                    
    throw new Exception(e.Message); }

                }


            }


            
    /// <summary>
            
    /// 关闭数据库
            
    /// </summary>

            private static void closeConnection()
            
    {
                
    if (conn.State == ConnectionState.Open)
                
    {
                    conn.Close();
                    conn.Dispose();
                    comm.Dispose();
                }

            }


            
    /// <summary>
            
    /// 执行sql语句
            
    /// </summary>
            
    /// <param name="sqlstr"></param>

            public static void excuteSql(string sqlstr)
            
    {
                
    try
                
    {
                    openConnection();
                    comm.CommandType 
    = CommandType.Text;
                    comm.CommandText 
    = sqlstr;
                    comm.ExecuteNonQuery();
                }

                
    catch (Exception e)
                
    {
                    
    throw new Exception(e.Message);
                }

                
    finally
                
    { closeConnection(); }
            }


            
    /// <summary>
            
    /// 返回指定sql语句的OleDbDataReader对象,使用时请注意关闭这个对象。
            
    /// </summary>
            
    /// <param name="sqlstr"></param>
            
    /// <returns></returns>

            public static OleDbDataReader dataReader(string sqlstr)
            
    {
                OleDbDataReader dr 
    = null;
                
    try
                
    {
                    openConnection();
                    comm.CommandText 
    = sqlstr;
                    comm.CommandType 
    = CommandType.Text;

                    dr 
    = comm.ExecuteReader(CommandBehavior.CloseConnection);
                }

                
    catch
                
    {
                    
    try
                    
    {
                        dr.Close();
                        closeConnection();
                    }

                    
    catch { }
                }

                
    return dr;
            }


            
    /// <summary>
            
    /// 返回指定sql语句的OleDbDataReader对象,使用时请注意关闭
            
    /// </summary>
            
    /// <param name="sqlstr"></param>
            
    /// <param name="dr"></param>

            public static void dataReader(string sqlstr, ref OleDbDataReader dr)
            
    {
                
    try
                
    {
                    openConnection();
                    comm.CommandText 
    = sqlstr;
                    comm.CommandType 
    = CommandType.Text;
                    dr 
    = comm.ExecuteReader(CommandBehavior.CloseConnection);
                }

                
    catch
                
    {
                    
    try
                    
    {
                        
    if (dr != null && !dr.IsClosed)
                            dr.Close();
                    }

                    
    catch
                    
    {
                    }

                    
    finally
                    
    {
                        closeConnection();
                    }

                }

            }


            
    /// <summary>
            
    /// 返回指定sql语句的dataset
            
    /// </summary>
            
    /// <param name="sqlstr"></param>
            
    /// <returns></returns>

            public static DataSet dataSet(string sqlstr)
            
    {
                DataSet ds 
    = new DataSet();
                OleDbDataAdapter da 
    = new OleDbDataAdapter();
                
    try
                
    {
                    openConnection();
                    comm.CommandType 
    = CommandType.Text;
                    comm.CommandText 
    = sqlstr;
                    da.SelectCommand 
    = comm;
                    da.Fill(ds);

                }

                
    catch (Exception e)
                
    {
                    
    throw new Exception(e.Message);
                }

                
    finally
                
    {
                    closeConnection();
                }

                
    return ds;
            }


            
    /// <summary>
            
    /// 返回指定sql语句的dataset
            
    /// </summary>
            
    /// <param name="sqlstr"></param>
            
    /// <param name="ds"></param>

            public static void dataSet(string sqlstr, ref DataSet ds)
            
    {
                OleDbDataAdapter da 
    = new OleDbDataAdapter();
                
    try
                
    {
                    openConnection();
                    comm.CommandType 
    = CommandType.Text;
                    comm.CommandText 
    = sqlstr;
                    da.SelectCommand 
    = comm;
                    da.Fill(ds);
                }

                
    catch (Exception e)
                
    {
                    
    throw new Exception(e.Message);
                }

                
    finally
                
    {
                    closeConnection();
                }

            }


            
    /// <summary>
            
    /// 返回指定sql语句的datatable
            
    /// </summary>
            
    /// <param name="sqlstr"></param>
            
    /// <returns></returns>

            public static DataTable dataTable(string sqlstr)
            
    {
                DataTable dt 
    = new DataTable();
                OleDbDataAdapter da 
    = new OleDbDataAdapter();
                
    try
                
    {
                    openConnection();
                    comm.CommandType 
    = CommandType.Text;
                    comm.CommandText 
    = sqlstr;
                    da.SelectCommand 
    = comm;
                    da.Fill(dt);
                }

                
    catch (Exception e)
                
    {
                    
    throw new Exception(e.Message);
                }

                
    finally
                
    {
                    closeConnection();
                }

                
    return dt;
            }


            
    /// <summary>
            
    /// 返回指定sql语句的datatable
            
    /// </summary>
            
    /// <param name="sqlstr"></param>
            
    /// <param name="dt"></param>

            public static void dataTable(string sqlstr, ref DataTable dt)
            
    {
                OleDbDataAdapter da 
    = new OleDbDataAdapter();
                
    try
                
    {
                    openConnection();
                    comm.CommandType 
    = CommandType.Text;
                    comm.CommandText 
    = sqlstr;
                    da.SelectCommand 
    = comm;
                    da.Fill(dt);
                }

                
    catch (Exception e)
                
    {
                    
    throw new Exception(e.Message);
                }

                
    finally
                
    {
                    closeConnection();
                }

            }


            
    /// <summary>
            
    /// 返回指定sql语句的dataview
            
    /// </summary>
            
    /// <param name="sqlstr"></param>
            
    /// <returns></returns>

            public static DataView dataView(string sqlstr)
            
    {
                OleDbDataAdapter da 
    = new OleDbDataAdapter();
                DataView dv 
    = new DataView();
                DataSet ds 
    = new DataSet();
                
    try
                
    {
                    openConnection();
                    comm.CommandType 
    = CommandType.Text;
                    comm.CommandText 
    = sqlstr;
                    da.SelectCommand 
    = comm;
                    da.Fill(ds);
                    dv 
    = ds.Tables[0].DefaultView;
                }

                
    catch (Exception e)
                
    {
                    
    throw new Exception(e.Message);
                }

                
    finally
                
    {
                    closeConnection();
                }

                
    return dv;
            }

            

        }

    }



    2.Web.Config:
    在Config文件中添加Access文件的路径:

    <appSettings>
            
    <!-- 这里是存放Access文件的地址。用Access文件存放的路径替换下边的路径。-->
            
    <add key="myconn" value="D:TestTest.mdb"/>        
        
    </appSettings >

    3.UI层。
    在页面添加控件,在cs文件中使用上边的类。

        protected void Button1_Click(object sender, EventArgs e)
        
    {
            
    string name = TextBox1.Text;
            
    string strSql = "insert into Table1(Name) values('" + name + "')";
            DataAccess.excuteSql(strSql);
        }



  • 相关阅读:
    vscode安装设置go
    Go开发环境搭建
    使用Docker镜像
    Docker for mac安装
    封装request.get_params批量取值
    Python之日志处理(logging模块)
    Python3 urllib.parse 常用函数示例
    前端之CSS属性相关
    前端之CSS选择器
    前端之CSS介绍
  • 原文地址:https://www.cnblogs.com/rainbowzc/p/3479227.html
Copyright © 2011-2022 走看看