c# 开发+MySql数据库
今天就一个客户端的任务: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数据库的更多相关文章
- Java Web开发——MySQL数据库的安装与配置
MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下产品.MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RD ...
- C#开发MySQL数据库程序时需要注意的几点
一:引用MySQL使用基于Parameter方式代码,总是提示:“Column '列名'cannot be null”解决 MySQL使用基于Parameter方式代码,总是提示:“Column '列 ...
- (转)如何将 Excel 文件导入到 Navicat for MySQL 数据库
场景:工作中需要统计一段时间的加班时长,人工统计太过麻烦,就想到使用程序实现来统计 1 如何将 Excel 文件导入到 Navicat for MySQL 数据库 Navicat for MySQL ...
- mysql数据库开发常见问题及优化
mysql 数据库是被广泛应用的关系型数据库,其体积小.支持多处理器.开源并免费的特性使其在 Internet 中小型网站中的使用率尤其高.在使用 mysql 的过程中不规范的 SQL 编写.非最优的 ...
- PHP+mysql数据库开发搜索功能:中英文分词+全文检索(MySQL全文检索+中文分词(SCWS))
PHP+mysql数据库开发类似百度的搜索功能:中英文分词+全文检索 中文分词: a) robbe PHP中文分词扩展: http://www.boyunjian.com/v/softd/robb ...
- 微渠道发展 BAE交通运输平台和java呼声,微信mysql数据库开发实例 --图文开发教程
持续更新 BAE java开展mysql数据库 图文教程 BAE java语言发展mysql源码下载: 目前微信的发展.BAE开展.java开展.mysql教程开发非常,的介绍基于BAE平台.java ...
- 原生Jdbc操作Mysql数据库开发步骤
原生Jdbc操作Mysql数据库开发步骤 原生的Jdbc就是指,不使用任何框架,仅用java.sql包下的方法实现数据库查询等的操作. 下面是开发步骤: 1.导入数据库驱动包 ...
- MySQL 数据库开发的 36 条军规
MySQL 数据库开发的 36 条军规 写在前面的话: 总是在灾难发生后,才想起容灾的重要性: 总是在吃过亏后,才记得曾经有人提醒过. (一)核心军规 (1)不在数据库做运算:cpu计算务必移至业务层 ...
- MySQL数据库开发规范知识点
前言: 设计规范更多的是为了确保数据库设计的合理性.为了项目最终的协调稳定性,而命名规范则更多的是为了确保设计的正式和统一. 约定优先于配置(Convention Over Configuration ...
随机推荐
- 使用spring jdbc遇到的一个性能问题
使用JdbcTemplate的queryForList方法,返回特别慢,40多万结果集耗时超过6分钟.双核CPU,占用率始终在50%,内存逐渐增长至2G左右. 进行debug跟进去看,看到jdbcTe ...
- 201777010217-金云馨《面向对象程序设计(Java)》第十二周学习总结
内容 这个作业属于哪个课程 https://www.cnblogs.com/nwnu-daizh/ 这个作业的要求在哪里 https://www.cnblogs.com/nwnu-daizh/p/ ...
- 第一个java小程序
程序名:MyFirstJavaProgram.java //package com.example; public class MyFirstJavaProgram { public static v ...
- Linux下的SVN服务器搭建(八)
1. 通过yum命令安装svnserve yum -y install subversion #查看svn安装位置 rpm -ql subversion 2. 创建版本库目录(此仅为目录,为后面创建版 ...
- stack栈、heap堆的说明图
上面的两幅图是stm32系列的,但是基本原理可以通用的.
- VIJOS-P1421 更换轮胎
JDOJ 1506: VIJOS-P1421 更换轮胎 https://neooj.com/oldoj/problem.php?id=1506 Description 经过数周的期待,比赛终于正式开始 ...
- VIJOS-P1474 雷曼兔(csapc)
JDOJ 1532: VIJOS-P1474 雷曼兔(csapc) https://neooj.com/oldoj/problem.php?id=1532 Description 这次,OI山成为了雷 ...
- docker sentry 配置文件位置
root@50f8462579a8:/etc/sentry# cd /etc/sentry/ root@50f8462579a8:/etc/sentry# ls config.yml sentry.c ...
- [LeetCode] 234. Palindrome Linked List 回文链表
Given a singly linked list, determine if it is a palindrome. Example 1: Input: 1->2 Output: false ...
- 第02组 Alpha冲刺(4/6)
队名:無駄無駄 组长博客 作业博客 组员情况 张越洋 过去两天完成了哪些任务 摸鱼 提交记录(全组共用) 接下来的计划 沟通前后端成员,监督.提醒他们尽快完成各自的进度 学习如何评估代码质量 准备Al ...