c# 操作Microsoft Access数据库

数据库结构为:


public static string connting = "数据库路径:如:D:\\xxx.mdb";//插入public bool InsertToFile(string casenumber, int lastrowid, int pagecount){bool result = true;try{string connString = $"Provider=Microsoft.Jet.OLEDB.4.0;Data Source={connting};";using (var conn = new OleDbConnection(connString)){conn.Open();var sql = @"INSERT INTO [file] ([顺序号], [案卷号], [案卷题名], [卷内页数文件], [卷内页数图纸], [卷内页数其他],[备注]) VALUES (@value1, @value2, @value3, @value4, @value5, @value6,@value7)";using (var cmd = new OleDbCommand(sql, conn)){cmd.Parameters.Add(new OleDbParameter("@value1", OleDbType.Integer) { Value = 1 });cmd.Parameters.Add(new OleDbParameter("@value2", OleDbType.VarChar) { Value = casenumber });cmd.Parameters.Add(new OleDbParameter("@value3", OleDbType.VarChar) { Value = "目录索引" });cmd.Parameters.Add(new OleDbParameter("@value4", OleDbType.Integer) { Value = pagecount });cmd.Parameters.Add(new OleDbParameter("@value5", OleDbType.Integer) { Value = 0 });cmd.Parameters.Add(new OleDbParameter("@value6", OleDbType.VarChar) { Value = "" });cmd.Parameters.Add(new OleDbParameter("@value7", OleDbType.VarChar) { Value = "" });cmd.ExecuteNonQuery();}}}catch (Exception ex){result = false;Logger.Error("插入[file]表异常!详情:" + ex.Message);}return result;}//查询
public void QueryData()
{try{string connString = $"Provider=Microsoft.Jet.OLEDB.4.0;Data Source={connting};";using (var conn = new OleDbConnection(connString)){conn.Open();var sql = "SELECT * FROM [file] WHERE [顺序号] = @orderNumber";using (var cmd = new OleDbCommand(sql, conn)){cmd.Parameters.Add(new OleDbParameter("@orderNumber", OleDbType.Integer) { Value = 1 });using (var reader = cmd.ExecuteReader()){while (reader.Read()){// 处理查询结果string casenumber = reader.GetString(reader.GetOrdinal("案卷号"));string title = reader.GetString(reader.GetOrdinal("案卷题名"));// 其他列的处理类似Console.WriteLine($"案卷号: {casenumber}, 案卷题名: {title}");}}}}}catch (Exception ex){Logger.Error("查询[file]表异常!详情:" + ex.Message);}
}//修改
public bool UpdateData(string casenumber, int pagecount)
{bool result = true;try{string connString = $"Provider=Microsoft.Jet.OLEDB.4.0;Data Source={connting};";using (var conn = new OleDbConnection(connString)){conn.Open();var sql = "UPDATE [file] SET [卷内页数文件] = @pagecount WHERE [案卷号] = @casenumber";using (var cmd = new OleDbCommand(sql, conn)){cmd.Parameters.Add(new OleDbParameter("@pagecount", OleDbType.Integer) { Value = pagecount });cmd.Parameters.Add(new OleDbParameter("@casenumber", OleDbType.VarChar) { Value = casenumber });int rowsAffected = cmd.ExecuteNonQuery();if (rowsAffected == 0){result = false;Logger.Error("未找到符合条件的记录!");}}}}catch (Exception ex){result = false;Logger.Error("更新[file]表异常!详情:" + ex.Message);}return result;
}

这里需要注意的点就是字段类型,注意代码中的类型和数据库类型保持一致,否则插入会异常

枚举为:

public enum OleDbType{BigInt = 20,Binary = 0x80,Boolean = 11,BSTR = 8,Char = 129,Currency = 6,Date = 7,DBDate = 133,DBTime = 134,DBTimeStamp = 135,Decimal = 14,Double = 5,Empty = 0,Error = 10,Filetime = 0x40,Guid = 72,IDispatch = 9,Integer = 3,IUnknown = 13,LongVarBinary = 205,LongVarChar = 201,LongVarWChar = 203,Numeric = 131,PropVariant = 138,Single = 4,SmallInt = 2,TinyInt = 0x10,UnsignedBigInt = 21,UnsignedInt = 19,UnsignedSmallInt = 18,UnsignedTinyInt = 17,VarBinary = 204,VarChar = 200,Variant = 12,VarNumeric = 139,VarWChar = 202,WChar = 130}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/22340.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

在nodeJS 中实现langchain 的Agent (实验笔记)

在nodeJS 中实现langchain 的Agent 实验过程记录如下: 1 构建一个Agent ,使用两个工具 Calculator和TavilySearchResults 2 Tavily Search的API key 的获取 之前一直找不到一个合适的搜索引擎,Google Search 被墙,bing Search …

【Linux】进程(5):命令行参数

大家好,我是苏貝,本篇博客带大家了解Linux进程(5):命令行参数,如果你觉得我写的还不错的话,可以给我一个赞👍吗,感谢❤️ 目录 (A)为什么要有命令…

iOS中的@objc和@objcMembers实现Swift和OC的交互

目录 ​​​​​​​前言 一、使用OC和Swift混编的场景 二、objcMembers 1.objcMembers 的用法和示例 1.基本用法 2.与objc 的区别 3.使用场景 1. 与Objective-C代码互操作 2.需要使用Objective-C运行时特性 3.避免重复的objc修饰符 4.注意事项 前言 这篇博客主要讨…

Paraformer解读(1)基于self-attention和dfsmn的encoder

DFSMN SAN-M python实现 import torch import torch.nn as nn import torch.nn.functional as Fclass PositionalEncoding(nn.Module):def __init__(self, d_model, dropout0.1, max_len5000):super(PositionalEncoding, self).__init__()self.dropout nn.Dropout(pdropout)p…

C语言中整形提升举例说明

一. 简介 前面一篇文章简单学习了 C语言中的整形提升。文章如下: C语言中的整型提升-CSDN博客 本文再举例说明 C语言随处可见的整型提升的代码示例。 二. C语言中整形提升举例说明 1. 什么是整形提升? C语言的表达式中的 字符型(即 c…

sklearn.pipeline的用法介绍

sklearn.pipeline可以将多个数据预处理步骤和机器学习模型组合,成一个整体,从而简化了机器学习的流程。 sklearn.pipeline类可以将多个算法模型串联起来,比如将特征提取、归一化、分类组织在一起形成一个典型的机器学习问题工作流,主要带来两点好处: 1.…

你管这破玩意儿叫负载均衡?

你管这破玩意儿叫负载均衡? 那么四层负载均衡器是如何工作的呢总结 相信大家都听过这样的一道经典面试题:「请说出在淘宝网输入一个关键词到最终展示网页的整个流程,越详细越好」 这个问题很难,涉及到 HTTP,TCP,网关…

MATLAB基础应用精讲-【数模应用】SPSSPRO数据处理

目录 SPSS SPSSRO 数据标签 1、作用 2、输入输出描述 3、案例示例 4、案例数据

Ubuntu 中 Pycharm 的一个奇怪bug:命令行换行处会丢失字符

如果命令行一行显示不完原本连续的一行,那么在末尾处的若干个字符可能会丢失。 可能的解决方案: 1. 检查 PyCharm 终端设置 PyCharm 的终端可能需要配置,以确保换行时不会丢失字符。 打开 PyCharm。进入 File > Settings(W…

Python第二语言(二、Python语言基础)

目录 1. python中常用的6中数据类型 2. Print语句(输出程序) 3. 字面量 4. 注释 5. 变量 6. 数据类型 7. type()语句:查询数据类型 8. 数据类型转换语句 9. 标识符 10. 算术运算符 11. 赋值运算符 && 复合赋值运算符 12. …

3. redis常见部署架构

redis常见部署架构 一、redis常见部署架构1、常见部署架构2、多实例部署2.1 规划安装目录、配置文件2.2.2 编辑实例配置文件2.2.3 启动实例2.2.4 测试数据读写 3、redis主从复制3.1 规划3.2 从服务器配置3.3 验证主从状态3.4 主从角色切换 4、分片集群4.1 原理4.2 分片集群的部…

如何反编译jar并修改后还原为jar

如何反编译jar并修改后还原为jar 目标:修改jar包中某个类的某个方法后还原为新的jar 1.新建android工程,把旧的jar添加为lib 2.用jadx-gui打开旧的jar并保存所有资源 3.找到保存的资源中想修改的.java类 4.复制类中的内容, 在android工程中新建一个同样路径的包,并在包下创建…

CSAPP Lab02——Bomb Lab完成思路详解

看见的看不见的 瞬间的永恒的 青草长啊大雪飘扬 ——月亮之上 完整代码见:CSAPP/bomb at main SnowLegend-star/CSAPP (github.com) 01 字符串比较 简单的把输入的字符串和地址“0x402400”内早已存储的字符串相比较。如果两个字符串相等则函数返回,否…

【Git】如何不管本地文件,强制git pull

要在 Git 中强制执行 git pull 操作,忽略本地文件的更改,可以按照以下步骤操作: 保存当前工作状态:如果你有未提交的更改,可以使用 git stash 将这些更改存储起来。 git stash强制拉取最新代码:使用 git re…

力扣2156.查找给定哈希值的子串

力扣2156.查找给定哈希值的子串 rolling hash:求带权的值 左边是高位 右边是低位 本题要求左边低位 只要反向求即可 class Solution {public:string subStrHash(string s, int power, int modulo, int k, int hashValue) {int n s.size();long long M modulo,p…

ffmpeg视频编码原理和实战-(2)视频帧的创建和编码packet压缩

源文件&#xff1a; #include <iostream> using namespace std; extern "C" { //指定函数是c语言函数&#xff0c;函数名不包含重载标注 //引用ffmpeg头文件 #include <libavcodec/avcodec.h> } //预处理指令导入库 #pragma comment(lib,"avcodec.…

9.抽象类和接口

抽象类 抽象类概念 在面向对象的概念中&#xff0c;所有的对象都是通过类来描绘的&#xff0c;但是反过来&#xff0c;并不是所有的类都是用来描绘对象的&#xff0c;如果一个类中没有包含足够的信息来描绘一个具体的对象&#xff0c;这样的类就是抽象类 比如&#xff1a; 我…

微信小程序动画和Canvas笔记

微信小程序动画和Canvas 动画 使用wx.createAnimation创建动画对象 // 创建动画对象 const animation wx.createAnimation({duration: 1000, // 动画持续时间timingFunction: ease, // 动画速度曲线delay: 0, // 动画延迟时间transformOrigin: 50% 50% 0, // 动画的中心点 …

error /var/lib/jenkins/workspace/*/node_modules/node-sass: Command failed.

原因&#xff1a;node-sass版本不一致 版本图&#xff1a; 解决方案&#xff1a; 进入到jenkins项目目录下&#xff0c;修改package.json文件 将7.0.1改成6.0.1版本

【python深度学习】——pytorch中tensor的view、resize(resize_)与reshape

TOC 1. view() view()方法具有以下特性&#xff1a; 它只能在tensor是连续的时候使用&#xff08;可以调用is_contiguous()方法查看tensor是否连续&#xff09;, 如果要对不连续的张量使用&#xff0c; 需要先使用.contiguous()使其在内存上连续。view()方法不改变tensor的s…