mysql c#开发库_c# 开发+MySql数据库

本文介绍了如何使用C#进行数据库操作,包括通过存储过程将Excel文件转换为特定格式并插入MySQL数据库,同时处理插入错误。文章还提到了在多层项目结构中初始化app.config文件的方法,并强调了编写XML注释的重要性。
摘要由CSDN通过智能技术生成

今天就一个客户端的任务: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文件初始化

///

/// 应用程序的主入口点。

///

[STAThread]

static void Main()

{

new ApplicationConfig();//初始化配置文件

Application.EnableVisualStyles();

Application.SetCompatibleTextRenderingDefault(false);

Application.Run(new LMS_Import());

}

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值