• asp.net读取Access数据库。


    注:数据库(表名 job  id 工作id ,job工作字段)

    数据库放在app_data文件中。名称为database.mdb

    如果用codesmith生成,选择的数据库连接类型如下图:

    项目结构图:


    webconfig配置如下:(在configuration中添加)

    <connectionStrings>
        <add name="ConnectionString" connectionString="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|database.mdb" providerName="System.Data.OleDb"/>
     </connectionStrings>
    View Code


    OleDbHelper.cs类:

    using System;
    using System.Collections.Generic;
    using System.Text;
    using System.Data;
    using System.Data.SqlClient;
    using System.Configuration;
    using System.Data.OleDb;
    
        public class OleDbHelper
        {
            //从配置文件中读取连接字符串
            private static string ConnectionString = ConfigurationManager.ConnectionStrings["ConnectionString"].ToString();
            
            #region 增删改
            public static int ExecuteNonQuery(string commandText, CommandType commandType, params OleDbParameter[] commandParameters)
            {
                int row = 0;
                using (OleDbConnection conn = new OleDbConnection(ConnectionString))
                {
                    OleDbCommand cmd = new OleDbCommand();
                    string os = null;
                    PrepareCommand(cmd, commandType, conn, commandText, commandParameters);
                    row = cmd.ExecuteNonQuery();
                }
                return row;
            }
            #endregion
    
            #region 返回实体集
            public static OleDbDataReader ExecuteReader(string commandText, CommandType commandType, params OleDbParameter[] commandParameters)
            {
                OleDbDataReader dr = null;
                OleDbConnection conn = new OleDbConnection(ConnectionString);
                try
                {
                    OleDbCommand cmd = new OleDbCommand();
                    PrepareCommand(cmd, commandType, conn, commandText, commandParameters);
                    dr = cmd.ExecuteReader(CommandBehavior.CloseConnection);
                }
                catch
                {
                    conn.Close();
                    throw;
                }
                return dr;
            }
            #endregion
    
            #region ExecuteScalar
            /// <summary>
            /// 执行Sql Server存储过程
            /// 注意:不能执行有out 参数的存储过程
            /// </summary>
            /// <param name="connectionString">连接字符串</param>
            /// <param name="spName">存储过程名</param>
            /// <param name="parameterValues">对象参数</param>
            /// <returns>执行结果对象</returns>
            public static object ExecuteScalar(string commandText, CommandType commandType,params OleDbParameter[] commandParameters)
            {
                OleDbCommand cmd = new OleDbCommand();
    
                using (OleDbConnection conn = new OleDbConnection(ConnectionString))
                {
                    PrepareCommand(cmd, commandType, conn, commandText, commandParameters);
                    object val = cmd.ExecuteScalar();
                    return val;
                }
            }
    
    
            #endregion
    
            #region Private Method
            /// <summary>
            /// 设置一个等待执行的OleDbCommand对象
            /// </summary>
            /// <param name="cmd">OleDbCommand 对象,不允许空对象</param>
            /// <param name="conn">OleDbConnection 对象,不允许空对象</param>
            /// <param name="commandText">Sql 语句</param>
            /// <param name="cmdParms">OleDbParameters  对象,允许为空对象</param>
            private static void PrepareCommand(OleDbCommand cmd, CommandType commandType, OleDbConnection conn, string commandText, OleDbParameter[] cmdParms)
            {
                //打开连接
                if (conn.State != ConnectionState.Open)
                    conn.Open();
    
                //设置OleDbCommand对象
                cmd.Connection = conn;
                cmd.CommandText = commandText;
                cmd.CommandType = commandType;
    
                if (cmdParms != null)
                {
                    foreach (OleDbParameter parm in cmdParms)
                        cmd.Parameters.Add(parm);
                }
            }
            #endregion
    
            #region 返回一个表的数据
            public static DataSet ExcuteDataSet(string cmdText, params OleDbParameter[] pars)
            {
                using (OleDbConnection con = new OleDbConnection(ConnectionString))
                {
                    OleDbCommand cmd = new OleDbCommand();
                    PrepareCommand(cmd, CommandType.Text, con, cmdText, pars);
                    DataSet ds = new DataSet();
                    using (OleDbDataAdapter da = new OleDbDataAdapter(cmd))
                    {
                        da.Fill(ds, "Authorities");
                        return ds;
                    }
                }
            }
            #endregion 
    }
    View Code

    jobs.cs类:

    using System;
    using System.Collections.Generic;
    using System.Web;
    
    namespace WebTestAccess
    {
        public class jobs
        {
            public jobs() { }
    
            public jobs(string job)
            {
                this.job = job;
            }
    
            public jobs(int id, string job)
            {
                this.id = id;
                this.job = job;
            }
            private int id;
    
            public int Id
            {
                get { return id; }
                set { id = value; }
            }
    
            private string job;
    
            public string Job
            {
                get { return job; }
                set { job = value; }
            }
        }
    }
    View Code

    jobservice.cs类:

    using System;
    using System.Collections.Generic;
    using System.Web;
    using System.Data.OleDb;
    using System.Configuration;
    using System.Data;
    
    namespace WebTestAccess
    {
        public class jobservice
        {
            public List<jobs> getjobsall()
            {
                List<jobs> jobss = new List<jobs>();
                string sql = "select * from jobs";
                using(OleDbDataReader dr=OleDbHelper.ExecuteReader(sql,CommandType.Text))
                {
                    while(dr.Read())
                    {
                        jobs job = new jobs(
                                Convert.ToInt32(dr["id"]),
                                dr["job"].ToString()
                            );
                        jobss.Add(job);
                    }
                }
                return jobss;
            }
           
            //id为自增。
            public int addjob(jobs job)
            {
                int result = -1;
                string sql = string.Format("insert into jobs(job) values('{0}')",job.Job);
                OleDbParameter para = new OleDbParameter("@job", job.Job);
                result = OleDbHelper.ExecuteNonQuery(sql, CommandType.Text, para);
                return result;
            }
        }
    }
    View Code
  • 相关阅读:
    LIS例题
    基数排序板子
    lower_bound和upper_bound在刷leetcode的时候...
    leetcode1081/316 求字典序最小的包含所有出现字符一次的子序列
    PHP 求多个数组的笛卡尔积,适用于求商品规格组合 【深度优先搜索】【原创】
    PHP 求多个数组的笛卡尔积,适用于求商品规格组合【原创】
    Spring 中注入 properties 中的值
    Java 枚举活用
    Intellij IDEA 快捷键整理(TonyCody)
    WIN API -- 2.Hello World
  • 原文地址:https://www.cnblogs.com/Jokers/p/3399928.html
Copyright © 2020-2023  润新知