1. ASP.NET 用MYSQL是需要引入MYSQL的包的,这个在VS的TOOLS-> extension manager里可以搜到的
2. 接下来是WEBCONFIG里的配置信息
<connectionStrings> <add name="connStr" connectionString="User Id=root;host=localhost;Database=test;password=1234;" providerName="MySql.Data.MySqlClient"/> </connectionStrings>
3.MYSQL C#连接代码
string strConn = ConfigurationManager.ConnectionStrings["connStr"].ConnectionString; MySqlConnection myConnection = new MySqlConnection(strConn); MySqlCommand myCommand = new MySqlCommand(QUERY, myConnection); myConnection.Open(); MySqlDataReader myDataReader = myCommand.ExecuteReader(); while (myDataReader.Read() == true) { myDataReader["字段"].ToString(); } myDataReader.Close();
4. 将XLSX转换成CSV/TXT,然后数据导入MYSQL
load data local infile "d:/sql.txt" into table <table_name> ignore 1 lines;
5.在处理MYSQL数据时遇到的一些问题
5.1 按指定顺序排序
order by instr('value,value,value,value', <字段名>)
5.2 需要创建一个日历表来作为辅助表,需要写个procedure
CREATE TABLE `tmpdate` (date varchar(20),amount int(2)); DELIMITER $$ DROP PROCEDURE IF EXISTS zj$$ CREATE PROCEDURE zj(i DATE,j DATE) BEGIN WHILE i<=j DO INSERT INTO `tmpdate` VALUES(i,0); SET i=i+INTERVAL 1 DAY; END WHILE; END$$ DELIMITER ; call zj('2014-03-03','2015-12-31'); select * from `tmpdate`;
5.3 C#代码中sql语句中带变量的连接问题,如下param1,是由' " +param1 + " ' 组成,外单引,内双引。
query = "select * from (select * from tmpdate where NOT EXISTS" + "(select Date from wmissue where Date=tmpdate.Date) union(select " + "Date,count(*) from (select * from wmissue where Customer='"+param1+"') B group by Date)) A where Date between " + "DATE_SUB(DATE_FORMAT(now(),'%Y-%m-%d'),interval 1 week) and DATE_FORMAT(now(),'%Y-%m-%d') order by Date";