今天就一个客户端的任务:1、把Excel文件转成特定格式插入到数据库中;2、查出该文件,并且导出Excel文件;3、如果插入数据错误,则把刚插入的数据删除掉。感觉比较简单,可是,墨迹了一天呀。。。。总结一下吧!

一、    mysql数据库的存储过程是在“函数”列表里的,并且向外传参数时可以参考下边的代码:

首先是连接字符串 stringConn=“server=192.168.1.1;User ID=XXXXX;Password=XXXXXXX;database=lms;Connection Reset=FALSE ;charset=utf8”

public static void ImportEpc_Insert(string UIDNum, string EPCNum, int IsDistribute, string DistrubuteMatch, out int isAlarm)
       {
           isAlarm = 0;
           string procedureName = "原始数据_数据加密_增加";
           MySqlParameter[] thisParms = new MySqlParameter[5];
           thisParms[0] = new MySql.Data.MySqlClient.MySqlParameter("@UIDNum", UIDNum);
           thisParms[1] = new MySql.Data.MySqlClient.MySqlParameter("@EPCNum", EPCNum);
           thisParms[2] = new MySql.Data.MySqlClient.MySqlParameter("@IsDistribute", IsDistribute);
           thisParms[3] = new MySql.Data.MySqlClient.MySqlParameter("@DistrubuteMatch", DistrubuteMatch);
           thisParms[4] = new MySql.Data.MySqlClient.MySqlParameter("@isAlarm", isAlarm);
           thisParms[4].Direction = ParameterDirection.Output;
           DataAccess.MySQL_ExecuteStoredProcedure(procedureName, ref thisParms);
           isAlarm=Convert.ToInt32(thisParms[4].Value);
       }

对应的存储过程代码为:

BEGIN
DECLARE countNum int DEFAULT 0;

SELECT count(*) into countNum from 原始数据_数据加密 where UID=UIDNum;
if countNum<=0
THEN insert into `原始数据_数据加密`(UID,MD5_EPC,是否分配,分配批次) VALUES(UIDNum,EPCNum,IsDistribute,DistrubuteMatch);
set isAlarm=0;

ELSE
  set isAlarm=1;
end IF;

END

参数列为:

IN `UIDNum` varchar(200),IN `EPCNum` varchar(200),IN `IsDistribute` int,IN `DistrubuteMatch` varchar(200),OUT `isAlarm` int

二、对于app.config文件,当项目是几层结构时,最上层的winform窗体对config文件初始化

/// <summary>
        /// 应用程序的主入口点。
        /// </summary>
        [STAThread]
        static void Main()
        {
            new ApplicationConfig();//初始化配置文件
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
            Application.Run(new LMS_Import());
        }

三、最好都写参数的XML注释,这样不会发警告!累了!睡了!

c# 开发+MySql数据库的更多相关文章

  1. Java Web开发——MySQL数据库的安装与配置

    MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下产品.MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RD ...

  2. C#开发MySQL数据库程序时需要注意的几点

    一:引用MySQL使用基于Parameter方式代码,总是提示:“Column '列名'cannot be null”解决 MySQL使用基于Parameter方式代码,总是提示:“Column '列 ...

  3. (转)如何将 Excel 文件导入到 Navicat for MySQL 数据库

    场景:工作中需要统计一段时间的加班时长,人工统计太过麻烦,就想到使用程序实现来统计 1 如何将 Excel 文件导入到 Navicat for MySQL 数据库 Navicat for MySQL  ...

  4. mysql数据库开发常见问题及优化

    mysql 数据库是被广泛应用的关系型数据库,其体积小.支持多处理器.开源并免费的特性使其在 Internet 中小型网站中的使用率尤其高.在使用 mysql 的过程中不规范的 SQL 编写.非最优的 ...

  5. PHP+mysql数据库开发搜索功能:中英文分词+全文检索(MySQL全文检索+中文分词(SCWS))

    PHP+mysql数据库开发类似百度的搜索功能:中英文分词+全文检索 中文分词: a)   robbe PHP中文分词扩展: http://www.boyunjian.com/v/softd/robb ...

  6. 微渠道发展 BAE交通运输平台和java呼声,微信mysql数据库开发实例 --图文开发教程

    持续更新 BAE java开展mysql数据库 图文教程 BAE java语言发展mysql源码下载: 目前微信的发展.BAE开展.java开展.mysql教程开发非常,的介绍基于BAE平台.java ...

  7. 原生Jdbc操作Mysql数据库开发步骤

    原生Jdbc操作Mysql数据库开发步骤 原生的Jdbc就是指,不使用任何框架,仅用java.sql包下的方法实现数据库查询等的操作. 下面是开发步骤:        1.导入数据库驱动包       ...

  8. MySQL 数据库开发的 36 条军规

    MySQL 数据库开发的 36 条军规 写在前面的话: 总是在灾难发生后,才想起容灾的重要性: 总是在吃过亏后,才记得曾经有人提醒过. (一)核心军规 (1)不在数据库做运算:cpu计算务必移至业务层 ...

  9. MySQL数据库开发规范知识点

    前言: 设计规范更多的是为了确保数据库设计的合理性.为了项目最终的协调稳定性,而命名规范则更多的是为了确保设计的正式和统一. 约定优先于配置(Convention Over Configuration ...

随机推荐

  1. Excel 日期和时间函数

    1.TODAY和NOW函数 today和now函数 日期可以进行加减运算 2.提取日期和时间的函数 公式=Year() 公式=month() 公式=day() 公式=hour() 公式=minute( ...

  2. ionic-环境搭建-入门

    环境搭建 1.官方推荐: npm install -g cordova ionic 使用npm国内安装小坑,下载慢,还是失败 2.先安装cnpm,使用淘宝镜像:: npm install -g cnp ...

  3. JAVA基础概念(二)

    一.java修饰符和使用场景 修饰符是用来定义类.方法或者变量的访问权限,分为两大类: 访问修饰符: 限定类.属性.方法是否可以被程序里其他部分访问和调用. private<default< ...

  4. web服务器获取请求客户端真实地址的方法

    服务器获取客户端或者网页的请求,获取IP时需要注意,因为一个请求到达服务器之前,一般都会经过一层或者多层代理服务器,比如反向代理服务器将http://192.168.1.10:port/ 的URL反向 ...

  5. [LeetCode] 565. Array Nesting 数组嵌套

    A zero-indexed array A of length N contains all integers from 0 to N-1. Find and return the longest ...

  6. [LeetCode] 198. House Robber 打家劫舍

    You are a professional robber planning to rob houses along a street. Each house has a certain amount ...

  7. 分布式共识算法 (三) Raft算法

    系列目录 分布式共识算法 (一) 背景 分布式共识算法 (二) Paxos算法 分布式共识算法 (三) Raft算法 分布式共识算法 (四) BTF算法 一.引子 1.1 介绍 Raft 是一种为了管 ...

  8. loj 2135 「ZJOI2015」幻想乡战略游戏 - 动态点分治

    题目传送门 传送门 题目大意 给定一棵树,初始点权都为0,要求支持: 修改点权 询问带权重心 询问带权重心就在点分树上跑一下就行了.(枚举跳哪个子树更优) 剩下都是基础点分治. 学了一下11-dime ...

  9. 打造个人专属网盘nextcloud

    原文 https://edu.aliyun.com/course/150/lesson/list?spm=5176.9278281.815111.sence.114d4f3eLLMS53

  10. [转载]3.15 UiPath图片操作保存图片的介绍和使用

    一.保存图像 (Save Image)的介绍 可以将图像保存到磁盘的一种活动 二.保存图像 (Save Image)在UiPath中的使用 1.打开设计器,在设计库中新建一个Sequence,为序列命 ...