csharp: MySQL Stored Procedure using DAL

來源:互聯網
上載者:User

標籤:

# 建表 塗聚文 20160907drop table attendrecord;create table attendrecord(    seq  INT NOT NULL PRIMARY KEY AUTO_INCREMENT,    emp_no varchar(20) null,    rdate datetime not null,    rtime time not null,    rdescription varchar(100),    rdes_reasnon varchar(100),    branch varchar(50));#預存程序# 添加DELIMITER $$DROP PROCEDURE  IF EXISTS  `attend`.`proc_Insert_Attendrecord` $$CREATE PROCEDURE `attend`.`proc_Insert_Attendrecord`(IN param1emp_no VarChar(20),IN param1rdate Datetime ,IN param1rtime Time,IN param1rdescription VarChar(100),IN param1rdes_reasnon VarChar(100),IN param1branch VarChar(50))BEGININSERT INTO attendrecord(emp_no ,rdate ,rtime ,rdescription ,rdes_reasnon ,branch)VALUES(param1emp_no ,param1rdate ,param1rtime ,param1rdescription ,param1rdes_reasnon ,param1branch); END $$DELIMITER ;-- 添加DELIMITER $$DROP PROCEDURE  IF EXISTS  proc_Insert_Attendrecord $$CREATE PROCEDURE proc_Insert_Attendrecord(IN param1emp_no VarChar(20),IN param1rdate Datetime ,IN param1rtime Time,IN param1rdescription VarChar(100),IN param1rdes_reasnon VarChar(100),IN param1branch VarChar(50))BEGININSERT INTO attendrecord(emp_no ,rdate ,rtime ,rdescription ,rdes_reasnon ,branch)VALUES(param1emp_no ,param1rdate ,param1rtime ,param1rdescription ,param1rdes_reasnon ,param1branch); END $$DELIMITER ;#添加DELIMITER $$DROP PROCEDURE IF EXISTS proc_Insert_AttendrecordOutput $$CREATE PROCEDURE proc_Insert_AttendrecordOutput(IN param1emp_no VarChar(20),IN param1rdate Datetime,IN param1rtime Time,IN param1rdescription VarChar(100),IN param1rdes_reasnon VarChar(100),IN param1branch VarChar(50), out param1seq int)BEGININSERT INTO attendrecord(emp_no ,rdate ,rtime ,rdescription ,rdes_reasnon ,branch)VALUES(param1emp_no ,param1rdate ,param1rtime ,param1rdescription ,param1rdes_reasnon ,param1branch);SELECT LAST_INSERT_ID() into param1seq;END $$DELIMITER ;

  

/// <summary>/// Attendrecord資料訪問層///產生時間2016-9-6 17:24:08///塗聚文(Geovin Du) 自建代碼產生器產生(簡單預存程序也可以產生)///</summary>public class AttendrecordDAL : IAttendrecord{///<summary>/// 追加記錄 預存程序///</summary>///<param name="AttendrecordInfo"></param>///<returns></returns>public int InsertAttendrecord(AttendrecordInfo attendrecord){int ret = 0;try{MySqlParameter[] par = new MySqlParameter[]{new MySqlParameter("?param1emp_no",MySqlDbType.VarChar,20),new MySqlParameter("?param1rdate",MySqlDbType.Datetime),new MySqlParameter("?param1rtime",MySqlDbType.String), //塗聚文註:不能用MySqlDbType.Time否則報錯:base {System.Data.Common.DbException} = {"Only TimeSpan objects can be serialized by MySqlTimeSpan"}new MySqlParameter("?param1rdescription",MySqlDbType.VarChar,100),new MySqlParameter("?param1rdes_reasnon",MySqlDbType.VarChar,100),new MySqlParameter("?param1branch",MySqlDbType.VarChar,50),};par[0].Value = attendrecord.Emp_no;par[1].Value = attendrecord.Rdate;                par[2].Value = attendrecord.Rtime;par[3].Value = attendrecord.Rdescription;par[4].Value = attendrecord.Rdes_reasnon;par[5].Value = attendrecord.Branch;ret = DBHelper.ExecuteSql("proc_Insert_Attendrecord", CommandType.StoredProcedure, par);}catch (MySqlException ex){throw ex;}return ret;}///<summary>        /// 追加記錄 SQL指令碼///</summary>///<param name="AttendrecordInfo"></param>///<returns></returns>public int InsertSqlAttendrecord(AttendrecordInfo attendrecord){int ret = 0;try{StringBuilder strSql = new StringBuilder();strSql.Append("INSERT INTO attendrecord(emp_no,rdate,rtime,rdescription,rdes_reasnon,branch");strSql.Append(") VALUES (");strSql.Append("?param1emp_no ,?param1rdate ,?param1rtime ,?param1rdescription ,?param1rdes_reasnon ,?param1branch)");MySqlParameter[] par = new MySqlParameter[]{new MySqlParameter("?param1emp_no",MySqlDbType.VarChar,20),new MySqlParameter("?param1rdate",MySqlDbType.Datetime),new MySqlParameter("?param1rtime",MySqlDbType.String),new MySqlParameter("?param1rdescription",MySqlDbType.VarChar,100),new MySqlParameter("?param1rdes_reasnon",MySqlDbType.VarChar,100),new MySqlParameter("?param1branch",MySqlDbType.VarChar,50),};par[0].Value = attendrecord.Emp_no;par[1].Value = attendrecord.Rdate;par[2].Value = attendrecord.Rtime;par[3].Value = attendrecord.Rdescription;par[4].Value = attendrecord.Rdes_reasnon;par[5].Value = attendrecord.Branch;ret = DBHelper.ExecuteSql(strSql.ToString(), CommandType.Text, par);}catch (MySqlException ex){throw ex;}return ret;}

  

csharp: MySQL Stored Procedure using DAL

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.