C# 使用access数据库的一些经验

第一步:需要引入使用access数据库的动态库。

动态库目录如下:(一般情况下)

C:/Program Files/Common Files/System/ado/msadox.dll

C:/Program Files/Common Files/System/ado/msjro.dll

 

第二步:应用如下:

using System.Data.OleDb;

 

第三步:创建数据库,代码如下:

 

    public partial class FormMain : Form
    {

        private StringBuilder m_CreateTableSQL = null;
        private OleDbConnectionStringBuilder m_connbd = null;
        private OleDbConnection m_conn = null;

 

        public FormMain()
        {
            InitializeComponent();

            m_CreateTableSQL = new StringBuilder("");
            m_CreateTableSQL.AppendLine("CREATE TABLE [tasklist](");
            m_CreateTableSQL.AppendLine("[id] counter CONSTRAINT id PRIMARY KEY,");
            m_CreateTableSQL.AppendLine("[weburl] text (254) NOT NULL,");
            m_CreateTableSQL.AppendLine("[filename] text (254) NOT NULL,");
            m_CreateTableSQL.AppendLine("[second] long NOT NULL,");
            m_CreateTableSQL.AppendLine("[lasttime] float,");
            m_CreateTableSQL.AppendLine("[nexttime] float,");
            m_CreateTableSQL.AppendLine("[exemsg] text (254))");

            listTask_AddHeader();
        }

 

 

        private void FormMain_Load(object sender, EventArgs e)
        {
            //
            bool newdb = false;
            string dbpath = Application.StartupPath + "//" + "snapshot.mdb";
            string mdbpath = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + dbpath;
            if (!File.Exists(dbpath))
            {
                ADOX.CatalogClass cat = new ADOX.CatalogClass();
                cat.Create(mdbpath);
                newdb = true;
            }

            // 创建数据表
            m_connbd = new OleDbConnectionStringBuilder();
            m_connbd.DataSource = dbpath;
            m_connbd.Provider = "Microsoft.Jet.OLEDB.4.0";

            m_conn = new OleDbConnection(m_connbd.ConnectionString);

            DataSet dataset = new DataSet();
            m_conn.Open();

            if (newdb)
            {
                string strSQL = m_CreateTableSQL.ToString();
                Console.WriteLine(strSQL);
                OleDbCommand dbcmd = new OleDbCommand(strSQL, m_conn);
                dbcmd.ExecuteNonQuery();
            }

            listTask_LoadTask();
        }

 

        private void listTask_LoadTask()
        {
            // 建立SQL查询
            OleDbCommand dbcmd = m_conn.CreateCommand();
            // 输入查询语句
            dbcmd.CommandText = "select * from tasklist order by id";
            // 建立读取
            OleDbDataReader dbreader = dbcmd.ExecuteReader();

            // 查询并显示数据
            listTask.Items.Clear();
            while (dbreader.Read())
            {
                TaskInformation task = new TaskInformation();
                ListViewItem lt = new ListViewItem(dbreader["id"].ToString());
                task.m_id = int.Parse(dbreader["id"].ToString());

                lt.SubItems.Add(dbreader["weburl"].ToString());
                task.m_weburl = dbreader["weburl"].ToString();

                lt.SubItems.Add(dbreader["filename"].ToString());
                task.m_filename = dbreader["filename"].ToString();

                lt.SubItems.Add(dbreader["second"].ToString());
                task.m_second = int.Parse(dbreader["second"].ToString());

                lt.SubItems.Add(dbreader["lasttime"].ToString());
                task.m_lasttime = 0;    // long.Parse(dbreader["lasttime"].ToString());

                lt.SubItems.Add(dbreader["nexttime"].ToString());
                task.m_nexttime = 0;    // long.Parse(dbreader["nexttime"].ToString());

                lt.SubItems.Add(dbreader["exemsg"].ToString());
                task.m_exemsg = dbreader["exemsg"].ToString();

                lt.Tag = task;

                listTask.Items.Add(lt);
            }

            //关闭连接
            dbreader.Close();
        }

 

        private void btnAdd_Click(object sender, EventArgs e)
        {
            if (textFileName.Text.Length <= 0 || textUrl.Text.Length <= 0)
            {
                return;
            }
            string url = textUrl.Text;
            string filename = textFileName.Text;
            int second = int.Parse(this.textSecond.Text);
            if(second<=0)
            {
                return;
            }

            string strSQL = string.Format("insert into [tasklist]([weburl],[filename],[second])values('{0}','{1}',{2})",
                url,
                filename,
                second
                );
            Console.WriteLine(strSQL);
            try
            {
                OleDbCommand dbcmd = new OleDbCommand(strSQL, m_conn);
                dbcmd.ExecuteNonQuery();
            }
            catch (Exception ee)
            {
                Console.WriteLine(ee.ToString());
            }

            listTask_LoadTask();
        }

 

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值