博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
c#操作access数据库
阅读量:7064 次
发布时间:2019-06-28

本文共 3572 字,大约阅读时间需要 11 分钟。

hot3.png

using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Data;using System.Data.OleDb;namespace AccessDataBase{    class DBManager    {        const string connStr = @"Provider=Microsoft.Jet.OLEDB.4.0;data source=db\test.mdb";        private static DBManager db;        private DBManager()        {        }        public static DBManager getDBManager()        {            if (db == null)                db = new DBManager();            return db;        }        ///         /// 返回指定key的值        ///         ///         /// 
对应key的值,如果没有对应的值返回null
public String QueryByKey(string key) { using (OleDbConnection conn = new OleDbConnection(connStr)) { conn.Open(); OleDbCommand command = new OleDbCommand("select [v] from confirm where [k]=@key", conn); command.Parameters.Add("@key", key); OleDbDataReader reader = command.ExecuteReader(); using (reader) { if (reader.Read()) { return reader.GetString(0); // 返回key值 } else { return null; } } } } /// /// 将键值对插入confirm表中,如果表中已经存在key,则抛出KeyHasExistException /// /// /// public void Insert(string key, string value) { using (OleDbConnection conn = new OleDbConnection(connStr)) { conn.Open(); // 检查key是否已经存在 OleDbCommand command = new OleDbCommand("SELECT [k] from confirm where k=@key", conn); command.Parameters.Add("@key", key); OleDbDataReader reader = command.ExecuteReader(); // key不存在 if (!reader.Read()) { string sql = String.Format("INSERT INTO confirm(k,v) VALUES('{0}','{1}')", key, value); command = new OleDbCommand(sql,conn); Console.WriteLine(command.CommandText); command.ExecuteNonQuery(); } else { throw new KeyHasExistException("数据库已存在该key"); // key存在抛出异常 } } } /// /// 更新给定的键值对,如果confirm没有记录,则加入一条新的记录 /// /// /// public void Upadte(string key, string value) { using (OleDbConnection conn = new OleDbConnection(connStr)) { conn.Open(); // 判断是否存在key OleDbCommand command = new OleDbCommand("SELECT [k] from confirm where [k]=@key", conn); command.Parameters.Add("@key",key); OleDbDataReader reader = command.ExecuteReader(); // key存在 if (reader.Read()) { string sql = string.Format("UPDATE confirm SET [k]='{0}', [v]='{1}' WHERE k='{2}'", key, value, key); command = new OleDbCommand(sql, conn); Console.WriteLine(command.CommandText); command.ExecuteNonQuery(); } else { Insert(key, value); } } } } class KeyHasExistException : Exception { public KeyHasExistException(String msg) : base(msg) { } }}

转载于:https://my.oschina.net/skyhacker2/blog/159838

你可能感兴趣的文章
自己封装的BaseDao--更加灵活方便--hashmap
查看>>
struts2 中的 addActionError 、addFieldError、addAction
查看>>
es6 module模块
查看>>
<mvn:default-servlet-handler/>标签作用
查看>>
Java初始化顺序
查看>>
我的友情链接
查看>>
JS操作DOM的几个属性与方法
查看>>
我的友情链接
查看>>
磁盘空间满额报警shell脚本
查看>>
Flex中使用HTTPService与服务器端交换数据
查看>>
perl anyevent
查看>>
javaBean规范
查看>>
文件编码
查看>>
mysql创建远程帐号
查看>>
升级openssh_6.7p1 ssl_1.0.1j
查看>>
我的友情链接
查看>>
mysql binlog row模式日志查看
查看>>
每日一Lua(3)-函数
查看>>
蓝鸥Unity开发基础二——课时18 单例
查看>>
Confluence 6 空间
查看>>