• <fieldset id="8imwq"><menu id="8imwq"></menu></fieldset>
  • <bdo id="8imwq"><input id="8imwq"></input></bdo>
    最新文章專(zhuān)題視頻專(zhuān)題問(wèn)答1問(wèn)答10問(wèn)答100問(wèn)答1000問(wèn)答2000關(guān)鍵字專(zhuān)題1關(guān)鍵字專(zhuān)題50關(guān)鍵字專(zhuān)題500關(guān)鍵字專(zhuān)題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關(guān)鍵字專(zhuān)題關(guān)鍵字專(zhuān)題tag2tag3文章專(zhuān)題文章專(zhuān)題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專(zhuān)題3
    問(wèn)答文章1 問(wèn)答文章501 問(wèn)答文章1001 問(wèn)答文章1501 問(wèn)答文章2001 問(wèn)答文章2501 問(wèn)答文章3001 問(wèn)答文章3501 問(wèn)答文章4001 問(wèn)答文章4501 問(wèn)答文章5001 問(wèn)答文章5501 問(wèn)答文章6001 問(wèn)答文章6501 問(wèn)答文章7001 問(wèn)答文章7501 問(wèn)答文章8001 問(wèn)答文章8501 問(wèn)答文章9001 問(wèn)答文章9501
    當(dāng)前位置: 首頁(yè) - 科技 - 知識(shí)百科 - 正文

    Winform操作Access

    來(lái)源:懂視網(wǎng) 責(zé)編:小采 時(shí)間:2020-11-09 07:44:49
    文檔

    Winform操作Access

    Winform操作Access:有時(shí)候做數(shù)據(jù)的中轉(zhuǎn),SQLServer和Oracle這些大型數(shù)據(jù)庫(kù)有點(diǎn)殺雞用牛刀,而且會(huì)增加維護(hù)成本,這時(shí)可以使用Access數(shù)據(jù)庫(kù),尤其是處理Winform的時(shí)候。下面簡(jiǎn)單說(shuō)一下 Access的數(shù)據(jù)訪問(wèn)類(lèi)的使用方法,該類(lèi)為靜態(tài)方法,如果是多線程程序,可能會(huì)造成數(shù)據(jù)庫(kù)連接之
    推薦度:
    導(dǎo)讀Winform操作Access:有時(shí)候做數(shù)據(jù)的中轉(zhuǎn),SQLServer和Oracle這些大型數(shù)據(jù)庫(kù)有點(diǎn)殺雞用牛刀,而且會(huì)增加維護(hù)成本,這時(shí)可以使用Access數(shù)據(jù)庫(kù),尤其是處理Winform的時(shí)候。下面簡(jiǎn)單說(shuō)一下 Access的數(shù)據(jù)訪問(wèn)類(lèi)的使用方法,該類(lèi)為靜態(tài)方法,如果是多線程程序,可能會(huì)造成數(shù)據(jù)庫(kù)連接之

    有時(shí)候做數(shù)據(jù)的中轉(zhuǎn),SQLServer和Oracle這些大型數(shù)據(jù)庫(kù)有點(diǎn)殺雞用牛刀,而且會(huì)增加維護(hù)成本,這時(shí)可以使用Access數(shù)據(jù)庫(kù),尤其是處理Winform的時(shí)候。下面簡(jiǎn)單說(shuō)一下 Access的數(shù)據(jù)訪問(wèn)類(lèi)的使用方法,該類(lèi)為靜態(tài)方法,如果是多線程程序,可能會(huì)造成數(shù)據(jù)庫(kù)連接之

    有時(shí)候做數(shù)據(jù)的中轉(zhuǎn),SQLServer和Oracle這些大型數(shù)據(jù)庫(kù)有點(diǎn)“殺雞用牛刀”,而且會(huì)增加維護(hù)成本,這時(shí)可以使用“Access”數(shù)據(jù)庫(kù),尤其是處理“Winform”的時(shí)候。下面簡(jiǎn)單說(shuō)一下
    Access的數(shù)據(jù)訪問(wèn)類(lèi)的使用方法,該類(lèi)為靜態(tài)方法,如果是多線程程序,可能會(huì)造成“數(shù)據(jù)庫(kù)”連接之間的競(jìng)爭(zhēng)。比如一個(gè)線程打開(kāi)了數(shù)據(jù)庫(kù)連接,還沒(méi)有處理完,另一個(gè)線程就要關(guān)閉,這時(shí)就不能使用這個(gè)類(lèi)了。

    1、類(lèi)如下。
    using System;
    using System.Data;
    using System.Configuration;
    using System.Web;
    using System.Data.OleDb;

    namespace Model
    {
    ///


    /// DataAccess 的摘要說(shuō)明 C#操作Access實(shí)例解析
    ///

    public class DataAccess
    {
    protected static OleDbConnection conn = new OleDbConnection();
    protected static OleDbCommand comm = new OleDbCommand();
    public DataAccess()
    {
    //init C#操作Access實(shí)例解析
    }
    private static void openConnection()
    {
    if (conn.State == ConnectionState.Closed)
    {
    conn.ConnectionString = @"Provider=Microsoft.Jet.OleDb.4.0;Data Source=" + ConfigurationManager.AppSettings["myconn"];
    //web.config文件里設(shè)定。
    comm.Connection = conn;
    try
    {
    conn.Open();
    }
    catch (Exception e)
    { throw new Exception(e.Message); }

    }

    }//打開(kāi)數(shù)據(jù)庫(kù) C#操作Access實(shí)例解析

    private static void closeConnection()
    {
    if (conn.State == ConnectionState.Open)
    {
    conn.Close();
    conn.Dispose();
    comm.Dispose();
    }
    }//關(guān)閉數(shù)據(jù)庫(kù) C#操作Access實(shí)例解析

    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(); }
    }//執(zhí)行sql語(yǔ)句 C#操作Access實(shí)例解析

    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;
    }
    //返回指定sql語(yǔ)句的OleDbDataReader對(duì)象,使用時(shí)請(qǐng)注意關(guān)閉這個(gè)對(duì)象。
    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();
    } //C#操作Access實(shí)例解析
    catch
    {
    }
    finally
    {
    closeConnection();
    }
    }
    }
    //返回指定sql語(yǔ)句的OleDbDataReader對(duì)象,使用時(shí)請(qǐng)注意關(guān)閉

    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;
    }//返回指定sql語(yǔ)句的dataset C#操作Access實(shí)例解析

    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();
    }
    }//返回指定sql語(yǔ)句的dataset C#操作Access實(shí)例解析

    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;
    }//返回指定sql語(yǔ)句的datatable
    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();
    }
    }//返回指定sql語(yǔ)句的datatable C#操作Access實(shí)例解析

    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;
    }
    //返回指定sql語(yǔ)句的dataview C#操作Access實(shí)例解析

    }

    }


    2、配置文件中連接字符串


    3、查詢(xún)及判斷數(shù)據(jù)存在
    string IsExistSQL = " select * from ETLSettings where ETLName='" + name + "'";

    if (DataAccess.dataTable(IsExistSQL).Rows.Count == 0)
    {}

    4、創(chuàng)建表
    string ETLCreateSql = "Create TABLE " + name +
    " ( DANo VARCHAR NOT NULL, DATime DATETIME NOT NULL, LogTime DATETIME NOT NULL, MeterType VARCHAR NOT NULL, MeterNo VARCHAR NOT NULL, Qty Decimal(18,6) NOT NULL )";

    DataAccess.excuteSql(ETLCreateSql);


    5、增加及刪除記錄
    string ETLSql = " insert into ETLSettings values ('" + name + "','" + name + "'," + "1,0)";

    ETLSql = " delete from ETLSettings where ETLName='" + name + "'";


    6、刪除表
    drop table test

    7、Access里插入時(shí)間需要“#XXXXXXXX#”這樣。

    DataAccess.excuteSql("insert into " + etlname + " (DANo,DATime,LogTime,MeterType,MeterNo,Qty,Status) values ('"+model.DANo+"',#"+model.DATime+"#,#"+model.LogTime+"#,'"+model.MeterType+"','"+model.MeterNo+"',"+model.Qty+",0)");

    8、Access的連接數(shù)

    Access是允許同時(shí)有255個(gè)打開(kāi)的連接,注意是打開(kāi),打開(kāi)并不表示就一定在執(zhí)行查詢(xún)。如果要執(zhí)行查詢(xún),那是另外的事,和理論支持“255個(gè)并發(fā)連接”不沖突。

    Access的連接是串行執(zhí)行,沒(méi)有并行執(zhí)行模式。

    聲明:本網(wǎng)頁(yè)內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問(wèn)題請(qǐng)及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

    文檔

    Winform操作Access

    Winform操作Access:有時(shí)候做數(shù)據(jù)的中轉(zhuǎn),SQLServer和Oracle這些大型數(shù)據(jù)庫(kù)有點(diǎn)殺雞用牛刀,而且會(huì)增加維護(hù)成本,這時(shí)可以使用Access數(shù)據(jù)庫(kù),尤其是處理Winform的時(shí)候。下面簡(jiǎn)單說(shuō)一下 Access的數(shù)據(jù)訪問(wèn)類(lèi)的使用方法,該類(lèi)為靜態(tài)方法,如果是多線程程序,可能會(huì)造成數(shù)據(jù)庫(kù)連接之
    推薦度:
    • 熱門(mén)焦點(diǎn)

    最新推薦

    猜你喜歡

    熱門(mén)推薦

    專(zhuān)題
    Top
    主站蜘蛛池模板: 无码精品国产一区二区三区免费| 亚洲精品V欧洲精品V日韩精品 | 国产在线观看高清精品| 欧产日产国产精品精品| 国产香蕉国产精品偷在线| 97精品伊人久久大香线蕉app| 亚洲精品乱码久久久久久中文字幕 | 精品人妻少妇一区二区三区不卡| 500av大全导航精品| 久久精品中文騷妇女内射| 亚洲午夜成人精品电影在线观看| 国产乱人伦偷精品视频| 亚洲午夜精品久久久久久人妖| 97人妻无码一区二区精品免费| 久久精品国产亚洲av影院| 中文字幕精品亚洲无线码一区| 久久性精品| 久久久精品国产亚洲成人满18免费网站| 87国产私拍福利精品视频| 精品无人区麻豆乱码1区2区 | 日韩精品无码一区二区三区不卡| 精品国产综合区久久久久久| 亚洲欧洲国产精品你懂的| 国产成人精品日本亚洲11| 国产成人亚洲综合无码精品| 精品人人妻人人澡人人爽人人| 亚洲国产精品特色大片观看完整版 | 国产激情精品一区二区三区| 97精品在线播放| 国产成人无码精品一区在线观看 | 国产在线精品网址你懂的| 97久久精品无码一区二区天美| 国产精品亚洲成在人线| 国产精品乱码高清在线观看| 国产亚洲精品无码成人| 精品人无码一区二区三区| CAOPORM国产精品视频免费| 国产高清在线精品一区| 精品国产欧美另类一区| 亚洲成人精品久久| 国产精品 一区 在线|