/// <summary> /// Insert ข้อมูลลงฐานข้อมูล โดยส่งค่ามาเป็นลิส /// </summary> /// <param name="strTable">ชื่อ Table</param> /// <param name="strField">ลิสของชื่อฟิลด์</param> /// <param name="strData">ลิสของข้อมูล</param> /// <param name="strDBType">ชนิดของฐานข้อมูล เช่น sql,odbc,mysql</param> /// <param name="appsetting_name">ชื่อตัวแปรที่เก็บ ConnectionString ในไฟล์ AppSetting</param> /// <param name="alert_error">True=กรณีเกิด Error ให้แสดงคำเตือน , False=ไม่แสดง</param> /// <param name="alert_label_name">ชื่อ Label ที่ใช้แสดงคำเตือน Error ถ้าไม่ระบุ จะแสดงเป็น MessageBox</param> /// <returns>True=รันสำเร็จ , False=ไม่สำเร็จ</returns> public bool Insert(string strTable, string[] strField, string[] strData, DBType dbType, string appsetting_name, bool alert_error, string alert_label_name) { #region Remark /*############################ Example ############################ Insert ข้อมูลด้วย Array clsSQL.Insert("STAFF",new string[]{"st_id","usern"},new string[]{"'151246'","'Oofdui'"},"SQL","cs",true,"lblMessage"); #################################################################*/ #endregion StringBuilder strSql = new StringBuilder(); bool rtnValue = false; int i; if (strField.Length == strData.Length) { strSql.Append("INSERT INTO "); strSql.Append(strTable); strSql.Append("("); for (i = 0; i < strField.Length; i++) { strSql.Append(strField[i]); if (i < strField.Length - 1) { strSql.Append(","); } } strSql.Append(")"); strSql.Append("VALUES"); strSql.Append("("); for (i = 0; i < strData.Length; i++) { strSql.Append(strData[i]); if (i < strData.Length - 1) { strSql.Append(","); } } strSql.Append(")"); if (Execute(strSql.ToString(), dbType, appsetting_name)) { rtnValue = true; strSql.Length = 0; strSql.Capacity = 0; } else { if (alert_error == true) { string strError = "เกิดข้อผิดพลาดที่คำสั่ง : " + strSql.ToString(); if (!string.IsNullOrEmpty(alert_label_name)) { Page page = (Page)HttpContext.Current.Handler; Label lblAlert = (Label)page.FindControl(alert_label_name); if (lblAlert != null) { lblAlert.Text = strError; } else { clsJS clsJS = new clsJS(); clsJS.Alert(strError); } } else { clsJS clsJS = new clsJS(); clsJS.Alert(strError); } } strSql.Length = 0; strSql.Capacity = 0; rtnValue = false; } } else { if (alert_error == true) { string strError = "เกิดข้อผิดพลาด : Table(" + strTable + ") จำนวน Field(" + strField.Length.ToString() + ") และ Data(" + strData.Length.ToString() + ") ไม่เท่ากัน"; if (!string.IsNullOrEmpty(alert_label_name)) { Page page = (Page)HttpContext.Current.Handler; Label lblAlert = (Label)page.FindControl(alert_label_name); if (lblAlert != null) { lblAlert.Text = strError; } else { clsJS clsJS = new clsJS(); clsJS.Alert(strError); } } else { clsJS clsJS = new clsJS(); clsJS.Alert(strError); } } } return rtnValue; }
/// <summary> /// Insert ข้อมูลลงฐานข้อมูล /// </summary> /// <param name="strTable">ชื่อ Table</param> /// <param name="strField">ชื่อฟิลด์ (hn;pname)</param> /// <param name="strData">ข้อมูล ('15-12-20102';'นาย')</param> /// <param name="strDBType">ชนิดของฐานข้อมูล เช่น sql,odbc,mysql</param> /// <param name="appsetting_name">ชื่อตัวแปรที่เก็บ ConnectionString ในไฟล์ AppSetting</param> /// <param name="alert_error">True=กรณีเกิด Error ให้แสดงคำเตือน , False=ไม่แสดง</param> /// <param name="alert_label_name">ชื่อ Label ที่ใช้แสดงคำเตือน Error ถ้าไม่ระบุ จะแสดงเป็น MessageBox</param> /// <returns>True=รันสำเร็จ , False=ไม่สำเร็จ</returns> /// <example> /// clsSQL.Insert("TableName", "hn;pname", "'15-12-20102';'นาย'", clsSQL.DBType.MySQL, "cs", true, "lblWarn"); /// </example> public bool Insert(string strTable, string strField, string strData, DBType dbType, string appsetting_name, bool alert_error,string alert_label_name) { bool rtnValue = false; string[] arrField = strField.Split(';'); string[] arrData = strData.Split(';'); if (arrField.Length == arrData.Length) { StringBuilder strSql = new StringBuilder(); if (!string.IsNullOrEmpty(strTable) && !string.IsNullOrEmpty(strField) && !string.IsNullOrEmpty(strData) && !string.IsNullOrEmpty(appsetting_name)) { strSql.Append("INSERT INTO "); strSql.Append(strTable); strSql.Append("("); strSql.Append(strField.Replace(";", ",")); strSql.Append(")"); strSql.Append("VALUES"); strSql.Append("("); strSql.Append(strData.Replace(";", ",")); strSql.Append(")"); if (Execute(strSql.ToString(), dbType, appsetting_name)) { rtnValue = true; strSql.Length = 0; strSql.Capacity = 0; } else { if (alert_error == true) { string strError = "เกิดข้อผิดพลาดที่คำสั่ง : " + strSql.ToString(); if (!string.IsNullOrEmpty(alert_label_name)) { Page page = (Page)HttpContext.Current.Handler; Label lblAlert=(Label)page.FindControl(alert_label_name); if(lblAlert!=null) { lblAlert.Text = strError; } } else { clsJS clsJS = new clsJS(); clsJS.Alert(strError); } } strSql.Length = 0; strSql.Capacity = 0; rtnValue = false; } } } else { if (alert_error == true) { string strError = "เกิดข้อผิดพลาด : Table(" + strTable + ") จำนวน Field(" + arrField.Length.ToString() + ") และ Data(" + arrData.Length.ToString() + ") ไม่เท่ากัน"; if (!string.IsNullOrEmpty(alert_label_name)) { Page page = (Page)HttpContext.Current.Handler; Label lblAlert = (Label)page.FindControl(alert_label_name); if (lblAlert != null) { lblAlert.Text = strError; } } else { clsJS clsJS = new clsJS(); clsJS.Alert(strError); } } } return rtnValue; }
/// <summary> /// ใช้สร้าง DataTable จากการ Query ข้อมูลในไฟล์ Excel โดยการระบุแยก เช่น ชื่อชีต ชื่อคอลัมที่ต้องการ และ เงื่อนไข /// </summary> /// <param name="strSheetName">ชื่อ Sheet ในไฟล์ Excel</param> /// <param name="strColumnName">ชื่อฟิลด์ที่ต้องการใน DataTable (id,usern,pwd)</param> /// <param name="strWhere">WHERE Query (usern like '%002%')</param> /// <param name="pathShortXLSX">ไฟล์พาร์ธ (Upload/ACCOUNT.xlsx)</param> /// <returns>DataTable ที่ได้ตาม SQL Query</returns> /// <example> /// BindExcel("ACCOUNT", "id,usern,pwd", "usern like '%002%'", "Upload/ACCOUNT.xlsx"); /// </example> public DataTable BindExcel(string strSheetName, string strColumnName, string strWhere, string pathShortXLSX) { StringBuilder strSQL = new StringBuilder(); DataTable dt = new DataTable(); FileInfo objInfo = new FileInfo(System.Web.HttpContext.Current.Server.MapPath(pathShortXLSX)); if (objInfo.Exists == false) { clsJS clsJS = new clsJS(); clsJS.Alert("ไม่พบไฟล์ที่คุณระบุ"); return dt; } string cs = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + System.Web.HttpContext.Current.Server.MapPath(pathShortXLSX) + ";Extended Properties='Excel 12.0 Xml;HDR=YES'"; strSQL.Append("SELECT "); strSQL.Append((!string.IsNullOrEmpty(strColumnName) ? strColumnName : "*")); strSQL.Append(" FROM "); strSQL.Append((!string.IsNullOrEmpty(strSheetName) ? "[" + strSheetName + "$]" : "[Sheet1$]")); strSQL.Append((!string.IsNullOrEmpty(strWhere) ? " WHERE " + strWhere : "")); OleDbConnection myConn = new OleDbConnection(cs); try { OleDbDataAdapter myDa = new OleDbDataAdapter(strSQL.ToString(), myConn); myDa.Fill(dt); } catch (Exception ex) { // เกิดข้อผิดพลาด เช่น ไม่มี Column ที่เลือก , ชื่อ Sheet ผิด , Statement ผิด } return dt; }
/// <summary> /// สร้าง DataTable จากไฟล์ Excel ที่เราระบุ โดยสร้างจาก SQL Query ที่เราระบุเอง /// </summary> /// <param name="strSQL">SQL Query (SELECT * FROM [ACCOUNT$])</param> /// <param name="pathShortXLSX">ไฟล์พาร์ธ (Upload/ACCOUNT.xlsx)</param> /// <returns>DataTable ที่ได้ตาม SQL Query</returns> /// <example> /// BindExcel("SELECT * FROM [ACCOUNT$]", "Upload/ACCOUNT.xlsx"); /// </example> public DataTable BindExcel(string strSQL, string pathShortXLSX) { DataTable dt = new DataTable(); FileInfo objInfo = new FileInfo(System.Web.HttpContext.Current.Server.MapPath(pathShortXLSX)); if (objInfo.Exists == false) { clsJS clsJS = new clsJS(); clsJS.Alert("ไม่พบไฟล์ที่คุณระบุ"); return dt; } string cs = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + System.Web.HttpContext.Current.Server.MapPath(pathShortXLSX) + ";Extended Properties='Excel 12.0 Xml;HDR=YES'"; OleDbConnection myConn = new OleDbConnection(cs); try { OleDbDataAdapter myDa = new OleDbDataAdapter(strSQL, myConn); myDa.Fill(dt); } catch (Exception ex) { // เกิดข้อผิดพลาด เช่น ไม่มี Column ที่เลือก , ชื่อ Sheet ผิด , Statement ผิด } return dt; }
/// <summary> /// Delete ข้อมูลในฐานข้อมูล /// </summary> /// <param name="strTable">ชื่อ Table</param> /// <param name="strWhere">เงื่อนไข WHERE (hn='Test')</param> /// <param name="strDBType">ชนิดของฐานข้อมูล เช่น sql,odbc,mysql</param> /// <param name="appsetting_name">ชื่อตัวแปรที่เก็บ ConnectionString ในไฟล์ AppSetting</param> /// <param name="alert_error">True=กรณีเกิด Error ให้แสดงคำเตือน , False=ไม่แสดง</param> /// <param name="alert_label_name">ชื่อ Label ที่ใช้แสดงคำเตือน Error ถ้าไม่ระบุ จะแสดงเป็น MessageBox</param> /// <returns>True=รันสำเร็จ , False=ไม่สำเร็จ</returns> /// <example> /// clsSQL.Delete("TableName", "hn='Test'", clsSQL.DBType.MySQL, "cs", true, "lblWarn"); /// </example> public bool Delete(string strTable, string strWhere, DBType dbType, string appsetting_name, bool alert_error, string alert_label_name) { bool rtnValue = false; StringBuilder strSql = new StringBuilder(); if (!string.IsNullOrEmpty(strTable) && !string.IsNullOrEmpty(appsetting_name)) { strSql.Append("DELETE "); strSql.Append("FROM "); strSql.Append(strTable); strSql.Append(" WHERE "); strSql.Append(strWhere); if (Execute(strSql.ToString(), dbType, appsetting_name)) { rtnValue = true; strSql.Length = 0; strSql.Capacity = 0; } else { if (alert_error == true) { string strError = "เกิดข้อผิดพลาดที่คำสั่ง : " + strSql.ToString(); if (!string.IsNullOrEmpty(alert_label_name)) { Page page = (Page)HttpContext.Current.Handler; Label lblAlert = (Label)page.FindControl(alert_label_name); if (lblAlert != null) { lblAlert.Text = strError; } } else { clsJS clsJS = new clsJS(); clsJS.Alert(strError); } } strSql.Length = 0; strSql.Capacity = 0; rtnValue = false; } } else { if (alert_error == true) { string strError = "เกิดข้อผิดพลาด : คุณระบุตัวแปรไม่ครบ"; if (!string.IsNullOrEmpty(alert_label_name)) { Page page = (Page)HttpContext.Current.Handler; Label lblAlert = (Label)page.FindControl(alert_label_name); if (lblAlert != null) { lblAlert.Text = strError; } } else { clsJS clsJS = new clsJS(); clsJS.Alert(strError); } } } return rtnValue; }
/// <summary> /// Update ข้อมูลในฐานข้อมูล โดยส่งลิสของฟิลด์ และ ลิสของข้อมูล /// </summary> /// <param name="strTable">ชื่อ Table</param> /// <param name="strField">ลิสของชื่อฟิลด์</param> /// <param name="strData">ลิสของข้อมูล</param> /// <param name="strWhere">เงื่อนไข WHERE (hn='15-12-10000')</param> /// <param name="strDBType">ชนิดของฐานข้อมูล เช่น sql,odbc,mysql</param> /// <param name="appsetting_name">ชื่อตัวแปรที่เก็บ ConnectionString ในไฟล์ AppSetting</param> /// <param name="alert_error">True=กรณีเกิด Error ให้แสดงคำเตือน , False=ไม่แสดง</param> /// <param name="alert_label_name">ชื่อ Label ที่ใช้แสดงคำเตือน Error ถ้าไม่ระบุ จะแสดงเป็น MessageBox</param> /// <returns>True=รันสำเร็จ , False=ไม่สำเร็จ</returns> /// <example> /// clsSQL.Update("STAFF",new string[]{"st_id","usern"},new string[]{"'151246'","'Oofdui'"},"st_id='151246'",clsSQL.DBType.MySQL,"cs",true,"lblMessage"); /// </example> public bool Update(string strTable, string[] strField, string[] strData, string strWhere, DBType dbType, string appsetting_name, bool alert_error, string alert_label_name) { StringBuilder strSql = new StringBuilder(); bool rtnValue = false; int i; if (strField.Length == strData.Length) { strSql.Append("UPDATE "); strSql.Append(strTable); strSql.Append(" SET "); for (i = 0; i < strField.Length; i++) { strSql.Append(strField[i]); strSql.Append("="); strSql.Append(strData[i]); if (i < strField.Length - 1) { strSql.Append(","); } } strSql.Append(" WHERE "); strSql.Append(strWhere); if (Execute(strSql.ToString(), dbType, appsetting_name)) { rtnValue = true; strSql.Length = 0; strSql.Capacity = 0; } else { if (alert_error == true) { string strError = "เกิดข้อผิดพลาดที่คำสั่ง : " + strSql.ToString(); if (!string.IsNullOrEmpty(alert_label_name)) { Page page = (Page)HttpContext.Current.Handler; Label lblAlert = (Label)page.FindControl(alert_label_name); if (lblAlert != null) { lblAlert.Text = strError; } else { clsJS clsJS = new clsJS(); clsJS.Alert(strError); } } else { clsJS clsJS = new clsJS(); clsJS.Alert(strError); } } strSql.Length = 0; strSql.Capacity = 0; rtnValue = false; } } else { if (alert_error == true) { string strError = "เกิดข้อผิดพลาด : Table(" + strTable + ") จำนวน Field(" + strField.Length.ToString() + ") และ Data(" + strData.Length.ToString() + ") ไม่เท่ากัน"; if (!string.IsNullOrEmpty(alert_label_name)) { Page page = (Page)HttpContext.Current.Handler; Label lblAlert = (Label)page.FindControl(alert_label_name); if (lblAlert != null) { lblAlert.Text = strError; } else { clsJS clsJS = new clsJS(); clsJS.Alert(strError); } } else { clsJS clsJS = new clsJS(); clsJS.Alert(strError); } } } return rtnValue; }