using System;
namespace TSMS.Model
{
/// <summary>
/// 描述員工的在職狀態
/// </summary>
[Serializable]
public partial class tb_potential
{
public tb_potential()
{}
#region Model
private int _potstuid;
private string _stuname;
private string _stupho;
private string _stuparentpho;
private string _stuadress;
private string _sturemarks;
/// <summary>
///
/// </summary>
public int potstuid
{
set{ _potstuid=value;}
get{return _potstuid;}
}
/// <summary>
///
/// </summary>
public string stuname
{
set{ _stuname=value;}
get{return _stuname;}
}
/// <summary>
///
/// </summary>
public string stupho
{
set{ _stupho=value;}
get{return _stupho;}
}
/// <summary>
///
/// </summary>
public string stuparentpho
{
set{ _stuparentpho=value;}
get{return _stuparentpho;}
}
/// <summary>
///
/// </summary>
public string stuadress
{
set{ _stuadress=value;}
get{return _stuadress;}
}
/// <summary>
///
/// </summary>
public string sturemarks
{
set{ _sturemarks=value;}
get{return _sturemarks;}
}
#endregion Model
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using TSMS.Model;
using TSMS.Common;
using System.Data.SqlClient;
using System.Data;
namespace TSMS.DAL
{
public class Dalpotential:IDalData<tb_potential>
{
SqlHelper _sqlhelper = new SqlHelper();
/// <summary>
/// 添加潛在學生
/// </summary>
/// <param name="t"></param>
/// <returns></returns>
public bool InsertItem(tb_potential t)
{
SqlParameter[] parameters =
{
new SqlParameter("@stuname",SqlDbType.NVarChar,12),
new SqlParameter("@stupho",SqlDbType.VarChar,11),
new SqlParameter("@stuparentpho",SqlDbType.VarChar,11),
new SqlParameter("@stuadress",SqlDbType.NVarChar,50),
new SqlParameter("@sturemarks",SqlDbType.NVarChar,120)
};
parameters[0].Value = t.stuname;
parameters[1].Value = t.stupho;
parameters[2].Value = t.stuparentpho;
parameters[3].Value = t.stuadress;
parameters[4].Value = t.sturemarks;
string sql = @"INSERT INTO [tb_potential] ([stuname],[stupho],[stuparentpho],[stuadress],[sturemarks])
VALUES (@stuname,@stupho,@stuparentpho,@stuadress,@sturemarks)";
return _sqlhelper.ExecuteNonQurey(sql, CommandType.Text, parameters);
}
/// <summary>
/// 修改潛在學生信息
/// </summary>
/// <param name="t"></param>
/// <returns></returns>
public bool UpdateItem(tb_potential t)
{
SqlParameter[] parameters =
{
new SqlParameter("@stuname",SqlDbType.NVarChar,12),
new SqlParameter("@stupho",SqlDbType.VarChar,11),
new SqlParameter("@stuparentpho",SqlDbType.VarChar,11),
new SqlParameter("@stuadress",SqlDbType.NVarChar,50),
new SqlParameter("@sturemarks",SqlDbType.NVarChar,120),
new SqlParameter("@potstuid",SqlDbType.Int)
};
parameters[0].Value = t.stuname;
parameters[1].Value = t.stupho;
parameters[2].Value = t.stuparentpho;
parameters[3].Value = t.stuadress;
parameters[4].Value = t.sturemarks;
parameters[5].Value = t.potstuid;
string sql = @"UPDATE tb_potential SET stuname=@stuname,stupho =@stupho,
stuparentpho= @stuparentpho,stuadress =@stuadress,sturemarks = @sturemarks
WHERE potstuid = @potstuid";
return _sqlhelper.ExecuteNonQurey(sql, CommandType.Text, parameters);
}
/// <summary>
/// 刪除潛在學生信息
/// </summary>
/// <param name="t"></param>
/// <returns></returns>
public bool DeleteItem(string strSelected)
{
strSelected = strSelected.Trim(new char[] { ',' });//重要細節,慢慢研究
string sql = @"DELETE FROM [TSMS].[dbo].[tb_potential]
WHERE [potstuid] in (" + strSelected + ")";
return _sqlhelper.ExecuteNonQurey(sql, CommandType.Text);
}
public List<tb_potential> GetListModel()
{
throw new NotImplementedException();
}
public tb_potential GetModel(int id)
{
throw new NotImplementedException();
}
/// <summary>
/// 分頁按鈕
/// </summary>
/// <param name="condition"></param>
/// <param name="pageCount"></param>
/// <returns></returns>
public DataTable GetAllVacation(Condition condition, out int pageCount)
{
SqlParameter[] parameters =
{
new SqlParameter("@pageSize",SqlDbType.Int),
new SqlParameter("@pageIndex",SqlDbType.Int),
new SqlParameter("@tableName",SqlDbType.VarChar,50),
new SqlParameter("@priKey",SqlDbType.VarChar,20),
new SqlParameter("@condition",SqlDbType.VarChar,2000),
new SqlParameter("@sort",SqlDbType.VarChar,4),
new SqlParameter("@pageCount",SqlDbType.Int )
};
parameters[0].Value = condition.PageSize;
parameters[1].Value = condition.PageIndex;
parameters[2].Value = condition.TableName;
parameters[3].Value = condition.Prikye;
parameters[4].Value = condition.Condtion;
parameters[5].Value = condition.Pagesort;
parameters[6].Direction = ParameterDirection.Output;
string sql = @"exec proc_CommonSinglePage @pageSize,@pageIndex,@tableName,@priKey,@condition,@sort,@pagecount out";
DataTable db = _sqlhelper.GetDataTable(sql, CommandType.Text, parameters);
pageCount = (int)parameters[6].Value;
return db;
}
public bool DeleteItem(tb_potential t)
{
throw new NotImplementedException();
}
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using TSMS.DAL;
using TSMS.Model;
using System.Data;
namespace TSMS.BLL
{
public class Bllpotential
{
private Dalpotential dalpot = new Dalpotential();
/// <summary>
/// 新增一個潛在學生
/// </summary>
/// <param name="t"></param>
/// <returns></returns>
public bool InsertItem(tb_potential t)
{
return dalpot.InsertItem(t);
}
/// <summary>
/// 更新潛在學生信息
/// </summary>
/// <param name="t"></param>
/// <returns></returns>
public bool UpdateItem(tb_potential t)
{
return dalpot.UpdateItem(t);
}
/// <summary>
/// 刪除潛在學生信息
/// </summary>
/// <param name="t"></param>
/// <returns></returns>
public bool DeleteItem(string strSelected)
{
return dalpot.DeleteItem(strSelected);
}
public DataTable GetAllVacation(Condition condition, out int pageCount)
{
return dalpot.GetAllVacation(condition, out pageCount);
}
}
}
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Linq;
using System.Windows.Forms;
using DevExpress.XtraEditors;
using System.Data.SqlClient;//對於SQLServer數據庫的封裝操作
using System.Collections;//因爲要用到集合的存儲,所以我們採用的是集合的命名空間
using TSMS.Model;
using TSMS.BLL;
namespace TSMS
{
public partial class Faddpotstus : DevExpress.XtraEditors.XtraForm
{
int pageCount = 0;//總頁數
int pageIndex = 1;//首頁
private int row = 0;//點擊的行號
private int pronum = 0;//點擊的行號對應的id
Bllpotential potential = new Bllpotential();
public Faddpotstus()
{
InitializeComponent();
this.uCpaging1.PageEvent += new EventHandler<WFCL.UCpaging.PageEventArgs>(uCpaging1_PageEvent);
GetVacationList(GetCondition(), out pageCount);
this.uCpaging1.pageCount = pageCount;
}
void uCpaging1_PageEvent(object sender, WFCL.UCpaging.PageEventArgs e)
{
pageIndex = e.PageIndex;//把分頁控件中的主頁傳到當前主頁
GetVacationList(GetCondition(), out pageCount);
this.uCpaging1.pageCount = pageCount;
}
/// <summary>
/// 獲取學生實體
/// </summary>
/// <returns></returns>
public tb_potential GetPotModel()
{
tb_potential potential = new tb_potential();
potential.stuname = txe_potstuname.Text;
potential.stupho = txe_potstupho.Text;
potential.stuparentpho = txe_potstuparentpho.Text;
potential.stuadress = txe_potstuadress.Text;
potential.sturemarks = txe_potsturemarks.Text;
potential.potstuid = Convert.ToInt32(lbl_potentialid.Text);
return potential;
}
/// <summary>
/// 獲得查詢條件
/// </summary>
/// <returns></returns>
public Condition GetCondition()
{
Condition condition = new Condition();
condition.PageIndex = pageIndex;
condition.Pagecount = pageCount;
condition.PageSize = 2;
condition.Prikye = "potstuid";
condition.TableName = "tb_potential";
condition.Condtion = "";
condition.Pagesort = "desc";
return condition;
}
/// <summary>
/// 新增潛在學生按鈕
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void sib_add_Click(object sender, EventArgs e)
{
if (potential.InsertItem(GetPotModel()))
{
GetVacationList(GetCondition(), out pageCount);
XtraMessageBox.Show("新增學生成功");
}
}
/// <summary>
/// 更新潛在學生信息按鈕
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void sib_amend_Click(object sender, EventArgs e)
{
if (potential.UpdateItem(GetPotModel()))
{
GetVacationList(GetCondition(), out pageCount);
XtraMessageBox.Show("更新學生信息成功");
}
}
/// <summary>
/// 刪除學生信息按鈕
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void sib_delete_Click(object sender, EventArgs e)
{
string value = "";
string strSelected = "";
for (int i = 0; i < gridView1.RowCount; i++)
{
value = gridView1.GetDataRow(i)["check"].ToString();
if (value == "True")
{
strSelected += gridView1.GetRowCellValue(i, "potstuid");
strSelected += ",";
}
}
MessageBox.Show("刪除學生信息成功");
strSelected = strSelected.Remove(strSelected.LastIndexOf(","), 1); //刪除最後一個逗號
potential.DeleteItem(strSelected);
GetVacationList(GetCondition(), out pageCount);
}
/// <summary>
/// 選中的行數
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void gridView1_Click(object sender, EventArgs e)
{
//獲取這一行
int row = this.gridView1.FocusedRowHandle;
//沒有選中
if (row < 0)
return;
pronum = Convert.ToInt32(this.gridView1.GetRowCellValue(row, "potstuid"));
lbl_potentialid.Text = pronum.ToString();
this.txe_potstuname.Text = this.gridView1.GetRowCellValue(row, "stuname").ToString();
this.txe_potstupho.Text = this.gridView1.GetRowCellValue(row, "stupho").ToString();
this.txe_potstuparentpho.Text = this.gridView1.GetRowCellValue(row, "stuparentpho").ToString();
this.txe_potstuadress.EditValue = this.gridView1.GetRowCellValue(row, "stuadress").ToString();
this.txe_potsturemarks.EditValue = this.gridView1.GetRowCellValue(row, "sturemarks").ToString();
}
public void GetVacationList(Condition condition, out int pageCount)
{
//新建一個數據表
DataTable db = potential.GetAllVacation(condition, out pageCount);
//在表中增加一個列 add(列名,列類型)
db.Columns.Add("check", typeof(bool));
//給每一行的該列賦值
for (int i = 0; i < db.Rows.Count; i++)
{
db.Rows[i]["check"] = "false";
}
this.gridControl1.DataSource = db;
}
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Xml;
namespace TSMS.Common
{
public class XmlHelper
{
#region 對節點操作
/// <summary>
/// 增加一個新節點
/// </summary>
/// <param name="filePath">xml文件名</param>
/// <param name="xPath"></param>
/// <param name="xmlNode">新增加的節點</param>
/// <returns></returns>
public static bool AppendChild(string filePath, string xPath, XmlNode xmlNode)
{
try
{
XmlDocument xmldoc = new XmlDocument();//實例化一個xml文件類
xmldoc.Load(filePath);//從xPath路徑中加載一個xml文件
XmlNode xn = xmldoc.SelectSingleNode(xPath);//查找匹配第一個xml節點
XmlNode n = xmldoc.ImportNode(xmlNode, true);//把節點導入新節點
xn.AppendChild(n);
xmldoc.Save(filePath);
}
catch (Exception)
{
return false;
}
return true;
}
/// <summary>
/// 刪除指定節點下所有的子節點
/// </summary>
/// <param name="filePath"></param>
/// <param name="xPath"></param>
/// <returns></returns>
public static bool DeleteAllChild(string filePath, string xPath)
{
try
{
XmlDocument xmldoc = new XmlDocument();//實例化一個xml文件類
XmlElement root = xmldoc.DocumentElement;
xmldoc.Load(filePath);//從xPath路徑中加載一個xml文件
XmlNode xn = xmldoc.SelectSingleNode(xPath);//查找匹配第一個xml節點
xn.RemoveAll();
xmldoc.Save(filePath);
}
catch (Exception)
{
return false;
}
return true;
}
/// <summary>
/// 移除指定節點的子節點
/// </summary>
/// <param name="filePath">xml文件名</param>
/// <param name="xPath">被刪除節點的父節點xPath路徑</param>
/// <param name="xPathChi">被刪除節點的的xPath路徑</param>
/// <returns></returns>
public static bool DeleteChild(string filePath, string xPath, string xPathChi)
{
try
{
XmlDocument xmldoc = new XmlDocument();//實例化一個xml文件類
XmlElement root = xmldoc.DocumentElement;
xmldoc.Load(filePath);//從xPath路徑中加載一個xml文件
XmlNode xn = xmldoc.SelectSingleNode(xPath);//查找匹配第一個xml節點
XmlNode n = xmldoc.SelectSingleNode(xPathChi);//查找匹配xml子節點
xn.RemoveChild(n);
xmldoc.Save(filePath);
}
catch (Exception)
{
return false;
}
return true;
}
#endregion
/// <summary>
/// 獲取指定路徑節點中所有子節點的值
/// </summary>
/// <param name="filePath"></param>
/// <param name="xPath"></param>
/// <returns></returns>
public static List<string> GetListValues(string filePath, string xPath)
{ List<string> list = new List<string>();
try
{
XmlDocument xmldoc = new XmlDocument();//實例化一個xml文件類
xmldoc.Load(filePath);
XmlNode xn = xmldoc.SelectSingleNode(xPath);
XmlElement newNode = (XmlElement)xn;//要讀取的節點轉換爲元素
foreach (XmlNode tempNode in newNode)
{
XmlNode Node = tempNode.ChildNodes[0];
string nodeName = Node.InnerText;//取子節點的值
string u = nodeName;
list.Add(u);
}
}
catch (Exception)
{
return null;
}
return list;
}
/// <summary>
/// 獲取指定節點的指定屬性
/// </summary>
/// <param name="filePath"></param>
/// <param name="xPath"></param>
/// <param name="attName">屬性集合</param>
/// <returns></returns>
public static List<string> GetListAttribute(string filePath, string xPath,params string[] attName)
{
List<string> list = new List<string>();
try
{
XmlDocument xmldoc = new XmlDocument();//實例化一個xml文件類
xmldoc.Load(filePath);
XmlNode xn = xmldoc.SelectSingleNode(xPath);
XmlElement newNode = (XmlElement)xn;//要讀取的節點轉換爲元素
for (int i = 0; i < attName.Length; i++)
{
string stratt = newNode.GetAttribute(attName[i]);
list.Add(stratt);
}
}
catch (Exception)
{
return null;
}
return list;
}
/// <summary>
/// 給節點增加(修改)屬性
/// </summary>
/// <param name="filePath"></param>
/// <param name="xPath"></param>
/// <param name="attName">string</param>
/// <param name="attValue">string</param>
/// <returns></returns>
public static bool UpdateAttribute(string filePath, string xPath,string attName, string attValue)
{
try
{
XmlDocument xmldoc = new XmlDocument();//實例化xml文件
xmldoc.Load(filePath);//根據路徑加載xml文件
XmlNode xn = xmldoc.SelectSingleNode(xPath);//查找一個xml節點
XmlAttribute xa = xmldoc.CreateAttribute(attName);
xa.InnerText = attValue;
xn.Attributes.Append(xa);
xmldoc.Save(filePath);
}
catch (Exception)
{
return false;
}
return true;
}
/// <summary>
/// 刪除指定名稱的屬性
/// </summary>
/// <param name="filePath"></param>
/// <param name="attName">節點名稱</param>
/// <returns></returns>
public static bool DeleteAttribute(string filePath,string attName)
{
try
{
XmlDocument doc = new XmlDocument();
doc.Load(filePath);
XmlElement root = doc.DocumentElement;//獲取根節點
XmlNodeList nodelist = root.ChildNodes;//獲取所有節點列表
XmlNode node = null;
foreach (XmlNode tempNode in nodelist)
{
if (tempNode.NodeType == XmlNodeType.Element)
{
if (tempNode.ChildNodes[0].InnerText == attName)
{
node = tempNode;
break;
}
}
}
if (node != null)
{
root.RemoveChild(node);
doc.Save(filePath);
}
}
catch (Exception)
{
return false;
}
return true;
}
/// <summary>
/// 更新(增加 修改)節點內容
/// </summary>
/// <param name="filePath"></param>
/// <param name="xPath"></param>
/// <param name="value"></param>
/// <returns></returns>
public static bool UpateNodeInnerText(string filePath, string xPath, string value)
{
try
{
XmlDocument doc = new XmlDocument();
doc.Load(filePath);
XmlNode xn = doc.SelectSingleNode(xPath);//根據路徑選擇節點
XmlElement xe = (XmlElement)xn;
xe.InnerText = value;
doc.Save(filePath);
}
catch (Exception)
{
return false;
}
return true;
}
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data;
using System.Data.SqlClient;
namespace TSMS.Common
{
/// <summary>
/// 負責對於ADO.NET的封裝。
/// </summary>
public class SqlHelper : AbstractSqlHelper
{
/// <summary>
/// 執行非查詢
/// </summary>
/// <param name="sql"></param>
/// <param name="cmdtype"></param>
/// <param name="parameters"></param>
/// <returns></returns>
public override bool ExecuteNonQurey(string sql, CommandType cmdtype, params SqlParameter[] parameters)
{
SqlCommand cmd = GetCommand(sql, cmdtype, parameters);
int reuslt =cmd.ExecuteNonQuery();
CloseConnection();
return reuslt > 0 ? true : false;
}
/// <summary>
/// 獲取數據表
/// </summary>
/// <param name="sql"></param>
/// <param name="cmdtype"></param>
/// <param name="parameters"></param>
/// <returns></returns>
public override DataTable GetDataTable(string sql, CommandType cmdtype, params SqlParameter[] parameters)
{
SqlCommand cmd = GetCommand(sql, cmdtype, parameters);
SqlDataAdapter sda = new SqlDataAdapter(cmd);
DataSet dataset = new DataSet();
sda.Fill(dataset);
return dataset.Tables[0];
}
/// <summary>
///
/// </summary>
/// <param name="sql"></param>
/// <param name="cmdtype"></param>
/// <param name="parameters"></param>
/// <returns></returns>
public override object GetSingleData(string sql, CommandType cmdtype, params SqlParameter[] parameters)
{
SqlCommand cmd = GetCommand(sql, cmdtype,parameters);
object o = cmd.ExecuteScalar();
CloseConnection();
return o;
}
/// <summary>
/// 獲取數據流
/// </summary>
/// <param name="sql"></param>
public override SqlDataReader GetDataReader(string sql,CommandType cmdtype, params SqlParameter[] parameters)
{
SqlCommand cmd = GetCommand(sql,cmdtype, parameters);
SqlDataReader sdr = cmd.ExecuteReader();
CloseConnection();
return sdr;
}
/// <summary>
///獲取緩存中數據表
/// </summary>
public override DataSet GetDataSet(string sql, CommandType cmdtype, params SqlParameter[] parameters)
{
SqlCommand cmd = GetCommand(sql,cmdtype ,parameters);
SqlDataAdapter sda = new SqlDataAdapter(cmd);
DataSet dataset = new DataSet();
sda.Fill(dataset);
return dataset;
}
public override DataSet GetDataSet(string sql, CommandType cmdtype, List<SqlParameter> list)
{
SqlCommand cmd = GetCommand(sql, cmdtype,list);
SqlDataAdapter sda = new SqlDataAdapter(cmd);
DataSet ds = new DataSet();
sda.Fill(ds);
return ds;
}
}
}
using System;
using System.Collections.Generic;
using System.Data.SqlClient;
using System.Linq;
using System.Text;
using System.Data;
using System.Data.Common;
using System.Configuration;
namespace TSMS.Common
{ //定義一個抽象類
public abstract class AbstractSqlHelper
{
private SqlConnection conn = null;//初始化一個sql連接
/// <summary>
/// 獲取連接字符串並打開
/// </summary>
public void GetConnection()
{ //private static string conStr = ConfigurationManager.ConnectionStrings["sqlstr"].ConnectionString;
string strCon = ConfigurationManager.ConnectionStrings["sqlstr"].ConnectionString;
conn = new SqlConnection(strCon);
conn.Open();
if (conn.State!=ConnectionState.Open)
{
conn.Close();
conn.Dispose();
}
}
/// <summary>
/// 關閉連接
/// </summary>
public void CloseConnection()
{
if (conn!=null)
{
conn.Close();
conn.Dispose();
}
}
/// <summary>
/// 設置需要執行的存儲過程或語句
/// </summary>
/// <param name="sql"></param>
/// <param name="cmdtype"></param>
/// <param name="pars"></param>
/// <returns></returns>
#region 設置需要執行的存儲過程或語句
public SqlCommand GetCommand(string sql, CommandType cmdtype, params SqlParameter[] pars)
{
GetConnection();
SqlCommand cmd = conn.CreateCommand();
cmd.CommandType = cmdtype;
cmd.CommandText = sql;
if (pars != null)
{
cmd.Parameters.AddRange(pars);
}
return cmd;
}
public SqlCommand GetCommand(string sql, CommandType cmdtype, List<SqlParameter> pars)
{
GetConnection();
SqlCommand cmd = conn.CreateCommand();
cmd.CommandType = cmdtype;
cmd.CommandText = sql;
foreach (SqlParameter s in pars)
{
cmd.Parameters.Add(s);
}
return cmd;
}
#endregion
/// <summary>
/// 執行非查詢
/// </summary>
/// <param name="sql"></param>
/// <param name="cmdtype"></param>
/// <param name="parameters"></param>
/// <returns></returns>
public abstract bool ExecuteNonQurey(string sql, CommandType cmdtype, params SqlParameter[] parameters);
/// <summary>
/// 查詢表通過參數
/// </summary>
/// <param name="sql"></param>
/// <param name="cmdtype"></param>
/// <param name="parameters"></param>
/// <returns>DataSet</returns>
public abstract DataSet GetDataSet(string sql, CommandType cmdtype, params SqlParameter[] parameters);
/// <summary>
/// 查詢表通過list泛型集合
/// </summary>
/// <param name="sql"></param>
/// <param name="cmdtype"></param>
/// <param name="list"></param>
/// <returns></returns>
public abstract DataSet GetDataSet(string sql, CommandType cmdtype, List<SqlParameter> list);
/// <summary>
/// 查詢表通過參數
/// </summary>
/// <param name="sql"></param>
/// <param name="cmdtype"></param>
/// <param name="parameters"></param>
/// <returns>DataTable</returns>
public abstract DataTable GetDataTable(string sql, CommandType cmdtype, params SqlParameter[] parameters);
public abstract object GetSingleData(string sql, CommandType cmdtype, params SqlParameter[] parameters);
public abstract SqlDataReader GetDataReader(string sql,CommandType cmdtype,params SqlParameter[] parameters);
}
}
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Text;
using System.Linq;
namespace TSMS.Common
{
public class Com
{ //檢查是否爲整數
public bool CheckInt(string str)
{
int num;
return int.TryParse(str, out num);
}
}
}
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Drawing;
using System.Data;
using System.Linq;
using System.Text;
using System.Text.RegularExpressions;
using System.Windows.Forms;
using DevExpress.XtraPrinting;
namespace TSMS.WFCL
{
public partial class UCpaging : UserControl
{
//定義一個分頁的事件
public event EventHandler<PageEventArgs> PageEvent;
public int pageCount = 0; //默認總頁數
public int pageIndex = 1; //默認顯示頁數
public UCpaging()
{
InitializeComponent();
SibIsEnable();
}
public class PageEventArgs : EventArgs
{
private int pageSize;
private int pageIndex;
public int PageSize
{
get { return pageSize; }
set { pageSize = value; }
}
public int PageIndex
{
get { return pageIndex; }
set { pageIndex = value; }
}
}
/// <summary>
/// 首頁
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void sib_homepage_Click(object sender, EventArgs e)
{
if (PageEvent != null)
{
PageEventArgs pargs = new PageEventArgs();
pargs.PageIndex = 1;
pageIndex = pargs.PageIndex;
this.txe_nowpage.Text = "1";
this.lbl_nowpage.Text = "/" + pageCount + "頁";
SibIsEnable();
PageEvent(sender, pargs);
}
}
/// <summary>
/// 上一頁
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void sib_propage_Click(object sender, EventArgs e)
{
PageEventArgs pargs = new PageEventArgs();
pageIndex = pageIndex == 1 ? pageIndex : pageIndex - 1;
pargs.PageIndex = pageIndex;
this.txe_nowpage.Text = pageIndex.ToString();
this.lbl_nowpage.Text = "/" + pageCount + "頁";
PageEvent(sender, pargs);
SibIsEnable();
}
/// <summary>
/// 下一頁
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void sim_nextpage_Click(object sender, EventArgs e)
{
if (PageEvent != null)
{
PageEventArgs pargs = new PageEventArgs();
pageIndex = pageIndex == pageCount ? pageCount : pageIndex + 1;
pargs.PageIndex = pageIndex;
this.txe_nowpage.Text = pageIndex.ToString();
this.lbl_nowpage.Text = "/" + pageCount + "頁";
PageEvent(sender, pargs);
SibIsEnable();
}
}
/// <summary>
/// 末頁
/// </summary> <param name="sender"></param>
/// <param name="e"></param>
private void sib_endpage_Click(object sender, EventArgs e)
{
if (PageEvent != null)
{
PageEventArgs pargs = new PageEventArgs();
pargs.PageIndex = pageCount;
pageIndex = pageCount;
this.txe_nowpage.Text = pageCount.ToString();
this.lbl_nowpage.Text = "/" + pageCount + "頁";
SibIsEnable();
PageEvent(sender, pargs);
}
}
/// <summary>
/// 跳轉
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void sib_jump_Click(object sender, EventArgs e)
{
if (Convert.ToInt32(this.txe_nowpage.Text.ToString())==0)
{
this.txe_nowpage.Text= "1";
}
if (PageEvent != null)
{
PageEventArgs pargs = new PageEventArgs();
pageIndex = Convert.ToInt32(this.txe_nowpage.Text.ToString());
pageIndex = pageIndex > pageCount ? pageCount : pageIndex;
pargs.PageIndex = pageIndex;
PageEvent(sender, pargs);
SibIsEnable();
}
}
public void SibIsEnable()
{
#region 分頁按鈕是否可用
this.lbl_nowpage.Text = "/" + pageCount + "頁";
if (pageIndex <= 1)
{
sib_homepage.Enabled = false;
sib_endpage.Enabled = true;
sib_prepage.Enabled = false;
sib_nextpage.Enabled = true;
}
else if (pageIndex >= pageCount)
{
sib_homepage.Enabled = true;
sib_endpage.Enabled = false;
sib_prepage.Enabled = true;
sib_nextpage.Enabled = false;
}
else
{
sib_homepage.Enabled = true;
sib_endpage.Enabled = true;
sib_prepage.Enabled = true;
sib_nextpage.Enabled = true;
}
#endregion
}
private void UCpaging_Load(object sender, EventArgs e)
{
this.lbl_nowpage.Text = "/" + pageCount + "頁";
this.txe_nowpage.Text = pageIndex.ToString();
SibIsEnable();
}
#region 文本框限制輸入
//private string pattern = @"^[0-9]*$";
////private string param1 = null;
//private void txe_nowpage_EditValueChanged(object sender, EventArgs e)
//{
// Match m = Regex.Match(this.txe_nowpage.Text, pattern); // 匹配正則表達式
// if (!m.Success) // 輸入的不是數字
// {
// this.txe_nowpage.Text = null; //textBox內容清空
// // 將光標定位到文本框的最後
// //this.txe_nowpage.SelectionStart = this.txe_nowpage.Text.Length;
// }
// //else // 輸入的是數字
// //{
// // param1 = this.txe_nowpage.Text; // 將現在textBox的值保存下
// //}
//}
#endregion
}
}
using System;
namespace TSMS.Model
{
/// <summary>
/// 描述員工的在職狀態
/// </summary>
[Serializable]
public partial class tb_potential
{
public tb_potential()
{}
#region Model
private int _potstuid;
private string _stuname;
private string _stupho;
private string _stuparentpho;
private string _stuadress;
private string _sturemarks;
/// <summary>
///
/// </summary>
public int potstuid
{
set{ _potstuid=value;}
get{return _potstuid;}
}
/// <summary>
///
/// </summary>
public string stuname
{
set{ _stuname=value;}
get{return _stuname;}
}
/// <summary>
///
/// </summary>
public string stupho
{
set{ _stupho=value;}
get{return _stupho;}
}
/// <summary>
///
/// </summary>
public string stuparentpho
{
set{ _stuparentpho=value;}
get{return _stuparentpho;}
}
/// <summary>
///
/// </summary>
public string stuadress
{
set{ _stuadress=value;}
get{return _stuadress;}
}
/// <summary>
///
/// </summary>
public string sturemarks
{
set{ _sturemarks=value;}
get{return _sturemarks;}
}
#endregion Model
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using TSMS.Model;
using TSMS.Common;
using System.Data.SqlClient;
using System.Data;
namespace TSMS.DAL
{
public class Dalpotential:IDalData<tb_potential>
{
SqlHelper _sqlhelper = new SqlHelper();
/// <summary>
/// 添加潛在學生
/// </summary>
/// <param name="t"></param>
/// <returns></returns>
public bool InsertItem(tb_potential t)
{
SqlParameter[] parameters =
{
new SqlParameter("@stuname",SqlDbType.NVarChar,12),
new SqlParameter("@stupho",SqlDbType.VarChar,11),
new SqlParameter("@stuparentpho",SqlDbType.VarChar,11),
new SqlParameter("@stuadress",SqlDbType.NVarChar,50),
new SqlParameter("@sturemarks",SqlDbType.NVarChar,120)
};
parameters[0].Value = t.stuname;
parameters[1].Value = t.stupho;
parameters[2].Value = t.stuparentpho;
parameters[3].Value = t.stuadress;
parameters[4].Value = t.sturemarks;
string sql = @"INSERT INTO [tb_potential] ([stuname],[stupho],[stuparentpho],[stuadress],[sturemarks])
VALUES (@stuname,@stupho,@stuparentpho,@stuadress,@sturemarks)";
return _sqlhelper.ExecuteNonQurey(sql, CommandType.Text, parameters);
}
/// <summary>
/// 修改潛在學生信息
/// </summary>
/// <param name="t"></param>
/// <returns></returns>
public bool UpdateItem(tb_potential t)
{
SqlParameter[] parameters =
{
new SqlParameter("@stuname",SqlDbType.NVarChar,12),
new SqlParameter("@stupho",SqlDbType.VarChar,11),
new SqlParameter("@stuparentpho",SqlDbType.VarChar,11),
new SqlParameter("@stuadress",SqlDbType.NVarChar,50),
new SqlParameter("@sturemarks",SqlDbType.NVarChar,120),
new SqlParameter("@potstuid",SqlDbType.Int)
};
parameters[0].Value = t.stuname;
parameters[1].Value = t.stupho;
parameters[2].Value = t.stuparentpho;
parameters[3].Value = t.stuadress;
parameters[4].Value = t.sturemarks;
parameters[5].Value = t.potstuid;
string sql = @"UPDATE tb_potential SET stuname=@stuname,stupho =@stupho,
stuparentpho= @stuparentpho,stuadress =@stuadress,sturemarks = @sturemarks
WHERE potstuid = @potstuid";
return _sqlhelper.ExecuteNonQurey(sql, CommandType.Text, parameters);
}
/// <summary>
/// 刪除潛在學生信息
/// </summary>
/// <param name="t"></param>
/// <returns></returns>
public bool DeleteItem(string strSelected)
{
strSelected = strSelected.Trim(new char[] { ',' });//重要細節,慢慢研究
string sql = @"DELETE FROM [TSMS].[dbo].[tb_potential]
WHERE [potstuid] in (" + strSelected + ")";
return _sqlhelper.ExecuteNonQurey(sql, CommandType.Text);
}
public List<tb_potential> GetListModel()
{
throw new NotImplementedException();
}
public tb_potential GetModel(int id)
{
throw new NotImplementedException();
}
/// <summary>
/// 分頁按鈕
/// </summary>
/// <param name="condition"></param>
/// <param name="pageCount"></param>
/// <returns></returns>
public DataTable GetAllVacation(Condition condition, out int pageCount)
{
SqlParameter[] parameters =
{
new SqlParameter("@pageSize",SqlDbType.Int),
new SqlParameter("@pageIndex",SqlDbType.Int),
new SqlParameter("@tableName",SqlDbType.VarChar,50),
new SqlParameter("@priKey",SqlDbType.VarChar,20),
new SqlParameter("@condition",SqlDbType.VarChar,2000),
new SqlParameter("@sort",SqlDbType.VarChar,4),
new SqlParameter("@pageCount",SqlDbType.Int )
};
parameters[0].Value = condition.PageSize;
parameters[1].Value = condition.PageIndex;
parameters[2].Value = condition.TableName;
parameters[3].Value = condition.Prikye;
parameters[4].Value = condition.Condtion;
parameters[5].Value = condition.Pagesort;
parameters[6].Direction = ParameterDirection.Output;
string sql = @"exec proc_CommonSinglePage @pageSize,@pageIndex,@tableName,@priKey,@condition,@sort,@pagecount out";
DataTable db = _sqlhelper.GetDataTable(sql, CommandType.Text, parameters);
pageCount = (int)parameters[6].Value;
return db;
}
public bool DeleteItem(tb_potential t)
{
throw new NotImplementedException();
}
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using TSMS.DAL;
using TSMS.Model;
using System.Data;
namespace TSMS.BLL
{
public class Bllpotential
{
private Dalpotential dalpot = new Dalpotential();
/// <summary>
/// 新增一個潛在學生
/// </summary>
/// <param name="t"></param>
/// <returns></returns>
public bool InsertItem(tb_potential t)
{
return dalpot.InsertItem(t);
}
/// <summary>
/// 更新潛在學生信息
/// </summary>
/// <param name="t"></param>
/// <returns></returns>
public bool UpdateItem(tb_potential t)
{
return dalpot.UpdateItem(t);
}
/// <summary>
/// 刪除潛在學生信息
/// </summary>
/// <param name="t"></param>
/// <returns></returns>
public bool DeleteItem(string strSelected)
{
return dalpot.DeleteItem(strSelected);
}
public DataTable GetAllVacation(Condition condition, out int pageCount)
{
return dalpot.GetAllVacation(condition, out pageCount);
}
}
}
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Linq;
using System.Windows.Forms;
using DevExpress.XtraEditors;
using System.Data.SqlClient;//對於SQLServer數據庫的封裝操作
using System.Collections;//因爲要用到集合的存儲,所以我們採用的是集合的命名空間
using TSMS.Model;
using TSMS.BLL;
namespace TSMS
{
public partial class Faddpotstus : DevExpress.XtraEditors.XtraForm
{
int pageCount = 0;//總頁數
int pageIndex = 1;//首頁
private int row = 0;//點擊的行號
private int pronum = 0;//點擊的行號對應的id
Bllpotential potential = new Bllpotential();
public Faddpotstus()
{
InitializeComponent();
this.uCpaging1.PageEvent += new EventHandler<WFCL.UCpaging.PageEventArgs>(uCpaging1_PageEvent);
GetVacationList(GetCondition(), out pageCount);
this.uCpaging1.pageCount = pageCount;
}
void uCpaging1_PageEvent(object sender, WFCL.UCpaging.PageEventArgs e)
{
pageIndex = e.PageIndex;//把分頁控件中的主頁傳到當前主頁
GetVacationList(GetCondition(), out pageCount);
this.uCpaging1.pageCount = pageCount;
}
/// <summary>
/// 獲取學生實體
/// </summary>
/// <returns></returns>
public tb_potential GetPotModel()
{
tb_potential potential = new tb_potential();
potential.stuname = txe_potstuname.Text;
potential.stupho = txe_potstupho.Text;
potential.stuparentpho = txe_potstuparentpho.Text;
potential.stuadress = txe_potstuadress.Text;
potential.sturemarks = txe_potsturemarks.Text;
potential.potstuid = Convert.ToInt32(lbl_potentialid.Text);
return potential;
}
/// <summary>
/// 獲得查詢條件
/// </summary>
/// <returns></returns>
public Condition GetCondition()
{
Condition condition = new Condition();
condition.PageIndex = pageIndex;
condition.Pagecount = pageCount;
condition.PageSize = 2;
condition.Prikye = "potstuid";
condition.TableName = "tb_potential";
condition.Condtion = "";
condition.Pagesort = "desc";
return condition;
}
/// <summary>
/// 新增潛在學生按鈕
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void sib_add_Click(object sender, EventArgs e)
{
if (potential.InsertItem(GetPotModel()))
{
GetVacationList(GetCondition(), out pageCount);
XtraMessageBox.Show("新增學生成功");
}
}
/// <summary>
/// 更新潛在學生信息按鈕
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void sib_amend_Click(object sender, EventArgs e)
{
if (potential.UpdateItem(GetPotModel()))
{
GetVacationList(GetCondition(), out pageCount);
XtraMessageBox.Show("更新學生信息成功");
}
}
/// <summary>
/// 刪除學生信息按鈕
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void sib_delete_Click(object sender, EventArgs e)
{
string value = "";
string strSelected = "";
for (int i = 0; i < gridView1.RowCount; i++)
{
value = gridView1.GetDataRow(i)["check"].ToString();
if (value == "True")
{
strSelected += gridView1.GetRowCellValue(i, "potstuid");
strSelected += ",";
}
}
MessageBox.Show("刪除學生信息成功");
strSelected = strSelected.Remove(strSelected.LastIndexOf(","), 1); //刪除最後一個逗號
potential.DeleteItem(strSelected);
GetVacationList(GetCondition(), out pageCount);
}
/// <summary>
/// 選中的行數
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void gridView1_Click(object sender, EventArgs e)
{
//獲取這一行
int row = this.gridView1.FocusedRowHandle;
//沒有選中
if (row < 0)
return;
pronum = Convert.ToInt32(this.gridView1.GetRowCellValue(row, "potstuid"));
lbl_potentialid.Text = pronum.ToString();
this.txe_potstuname.Text = this.gridView1.GetRowCellValue(row, "stuname").ToString();
this.txe_potstupho.Text = this.gridView1.GetRowCellValue(row, "stupho").ToString();
this.txe_potstuparentpho.Text = this.gridView1.GetRowCellValue(row, "stuparentpho").ToString();
this.txe_potstuadress.EditValue = this.gridView1.GetRowCellValue(row, "stuadress").ToString();
this.txe_potsturemarks.EditValue = this.gridView1.GetRowCellValue(row, "sturemarks").ToString();
}
public void GetVacationList(Condition condition, out int pageCount)
{
//新建一個數據表
DataTable db = potential.GetAllVacation(condition, out pageCount);
//在表中增加一個列 add(列名,列類型)
db.Columns.Add("check", typeof(bool));
//給每一行的該列賦值
for (int i = 0; i < db.Rows.Count; i++)
{
db.Rows[i]["check"] = "false";
}
this.gridControl1.DataSource = db;
}
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Xml;
namespace TSMS.Common
{
public class XmlHelper
{
#region 對節點操作
/// <summary>
/// 增加一個新節點
/// </summary>
/// <param name="filePath">xml文件名</param>
/// <param name="xPath"></param>
/// <param name="xmlNode">新增加的節點</param>
/// <returns></returns>
public static bool AppendChild(string filePath, string xPath, XmlNode xmlNode)
{
try
{
XmlDocument xmldoc = new XmlDocument();//實例化一個xml文件類
xmldoc.Load(filePath);//從xPath路徑中加載一個xml文件
XmlNode xn = xmldoc.SelectSingleNode(xPath);//查找匹配第一個xml節點
XmlNode n = xmldoc.ImportNode(xmlNode, true);//把節點導入新節點
xn.AppendChild(n);
xmldoc.Save(filePath);
}
catch (Exception)
{
return false;
}
return true;
}
/// <summary>
/// 刪除指定節點下所有的子節點
/// </summary>
/// <param name="filePath"></param>
/// <param name="xPath"></param>
/// <returns></returns>
public static bool DeleteAllChild(string filePath, string xPath)
{
try
{
XmlDocument xmldoc = new XmlDocument();//實例化一個xml文件類
XmlElement root = xmldoc.DocumentElement;
xmldoc.Load(filePath);//從xPath路徑中加載一個xml文件
XmlNode xn = xmldoc.SelectSingleNode(xPath);//查找匹配第一個xml節點
xn.RemoveAll();
xmldoc.Save(filePath);
}
catch (Exception)
{
return false;
}
return true;
}
/// <summary>
/// 移除指定節點的子節點
/// </summary>
/// <param name="filePath">xml文件名</param>
/// <param name="xPath">被刪除節點的父節點xPath路徑</param>
/// <param name="xPathChi">被刪除節點的的xPath路徑</param>
/// <returns></returns>
public static bool DeleteChild(string filePath, string xPath, string xPathChi)
{
try
{
XmlDocument xmldoc = new XmlDocument();//實例化一個xml文件類
XmlElement root = xmldoc.DocumentElement;
xmldoc.Load(filePath);//從xPath路徑中加載一個xml文件
XmlNode xn = xmldoc.SelectSingleNode(xPath);//查找匹配第一個xml節點
XmlNode n = xmldoc.SelectSingleNode(xPathChi);//查找匹配xml子節點
xn.RemoveChild(n);
xmldoc.Save(filePath);
}
catch (Exception)
{
return false;
}
return true;
}
#endregion
/// <summary>
/// 獲取指定路徑節點中所有子節點的值
/// </summary>
/// <param name="filePath"></param>
/// <param name="xPath"></param>
/// <returns></returns>
public static List<string> GetListValues(string filePath, string xPath)
{ List<string> list = new List<string>();
try
{
XmlDocument xmldoc = new XmlDocument();//實例化一個xml文件類
xmldoc.Load(filePath);
XmlNode xn = xmldoc.SelectSingleNode(xPath);
XmlElement newNode = (XmlElement)xn;//要讀取的節點轉換爲元素
foreach (XmlNode tempNode in newNode)
{
XmlNode Node = tempNode.ChildNodes[0];
string nodeName = Node.InnerText;//取子節點的值
string u = nodeName;
list.Add(u);
}
}
catch (Exception)
{
return null;
}
return list;
}
/// <summary>
/// 獲取指定節點的指定屬性
/// </summary>
/// <param name="filePath"></param>
/// <param name="xPath"></param>
/// <param name="attName">屬性集合</param>
/// <returns></returns>
public static List<string> GetListAttribute(string filePath, string xPath,params string[] attName)
{
List<string> list = new List<string>();
try
{
XmlDocument xmldoc = new XmlDocument();//實例化一個xml文件類
xmldoc.Load(filePath);
XmlNode xn = xmldoc.SelectSingleNode(xPath);
XmlElement newNode = (XmlElement)xn;//要讀取的節點轉換爲元素
for (int i = 0; i < attName.Length; i++)
{
string stratt = newNode.GetAttribute(attName[i]);
list.Add(stratt);
}
}
catch (Exception)
{
return null;
}
return list;
}
/// <summary>
/// 給節點增加(修改)屬性
/// </summary>
/// <param name="filePath"></param>
/// <param name="xPath"></param>
/// <param name="attName">string</param>
/// <param name="attValue">string</param>
/// <returns></returns>
public static bool UpdateAttribute(string filePath, string xPath,string attName, string attValue)
{
try
{
XmlDocument xmldoc = new XmlDocument();//實例化xml文件
xmldoc.Load(filePath);//根據路徑加載xml文件
XmlNode xn = xmldoc.SelectSingleNode(xPath);//查找一個xml節點
XmlAttribute xa = xmldoc.CreateAttribute(attName);
xa.InnerText = attValue;
xn.Attributes.Append(xa);
xmldoc.Save(filePath);
}
catch (Exception)
{
return false;
}
return true;
}
/// <summary>
/// 刪除指定名稱的屬性
/// </summary>
/// <param name="filePath"></param>
/// <param name="attName">節點名稱</param>
/// <returns></returns>
public static bool DeleteAttribute(string filePath,string attName)
{
try
{
XmlDocument doc = new XmlDocument();
doc.Load(filePath);
XmlElement root = doc.DocumentElement;//獲取根節點
XmlNodeList nodelist = root.ChildNodes;//獲取所有節點列表
XmlNode node = null;
foreach (XmlNode tempNode in nodelist)
{
if (tempNode.NodeType == XmlNodeType.Element)
{
if (tempNode.ChildNodes[0].InnerText == attName)
{
node = tempNode;
break;
}
}
}
if (node != null)
{
root.RemoveChild(node);
doc.Save(filePath);
}
}
catch (Exception)
{
return false;
}
return true;
}
/// <summary>
/// 更新(增加 修改)節點內容
/// </summary>
/// <param name="filePath"></param>
/// <param name="xPath"></param>
/// <param name="value"></param>
/// <returns></returns>
public static bool UpateNodeInnerText(string filePath, string xPath, string value)
{
try
{
XmlDocument doc = new XmlDocument();
doc.Load(filePath);
XmlNode xn = doc.SelectSingleNode(xPath);//根據路徑選擇節點
XmlElement xe = (XmlElement)xn;
xe.InnerText = value;
doc.Save(filePath);
}
catch (Exception)
{
return false;
}
return true;
}
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data;
using System.Data.SqlClient;
namespace TSMS.Common
{
/// <summary>
/// 負責對於ADO.NET的封裝。
/// </summary>
public class SqlHelper : AbstractSqlHelper
{
/// <summary>
/// 執行非查詢
/// </summary>
/// <param name="sql"></param>
/// <param name="cmdtype"></param>
/// <param name="parameters"></param>
/// <returns></returns>
public override bool ExecuteNonQurey(string sql, CommandType cmdtype, params SqlParameter[] parameters)
{
SqlCommand cmd = GetCommand(sql, cmdtype, parameters);
int reuslt =cmd.ExecuteNonQuery();
CloseConnection();
return reuslt > 0 ? true : false;
}
/// <summary>
/// 獲取數據表
/// </summary>
/// <param name="sql"></param>
/// <param name="cmdtype"></param>
/// <param name="parameters"></param>
/// <returns></returns>
public override DataTable GetDataTable(string sql, CommandType cmdtype, params SqlParameter[] parameters)
{
SqlCommand cmd = GetCommand(sql, cmdtype, parameters);
SqlDataAdapter sda = new SqlDataAdapter(cmd);
DataSet dataset = new DataSet();
sda.Fill(dataset);
return dataset.Tables[0];
}
/// <summary>
///
/// </summary>
/// <param name="sql"></param>
/// <param name="cmdtype"></param>
/// <param name="parameters"></param>
/// <returns></returns>
public override object GetSingleData(string sql, CommandType cmdtype, params SqlParameter[] parameters)
{
SqlCommand cmd = GetCommand(sql, cmdtype,parameters);
object o = cmd.ExecuteScalar();
CloseConnection();
return o;
}
/// <summary>
/// 獲取數據流
/// </summary>
/// <param name="sql"></param>
public override SqlDataReader GetDataReader(string sql,CommandType cmdtype, params SqlParameter[] parameters)
{
SqlCommand cmd = GetCommand(sql,cmdtype, parameters);
SqlDataReader sdr = cmd.ExecuteReader();
CloseConnection();
return sdr;
}
/// <summary>
///獲取緩存中數據表
/// </summary>
public override DataSet GetDataSet(string sql, CommandType cmdtype, params SqlParameter[] parameters)
{
SqlCommand cmd = GetCommand(sql,cmdtype ,parameters);
SqlDataAdapter sda = new SqlDataAdapter(cmd);
DataSet dataset = new DataSet();
sda.Fill(dataset);
return dataset;
}
public override DataSet GetDataSet(string sql, CommandType cmdtype, List<SqlParameter> list)
{
SqlCommand cmd = GetCommand(sql, cmdtype,list);
SqlDataAdapter sda = new SqlDataAdapter(cmd);
DataSet ds = new DataSet();
sda.Fill(ds);
return ds;
}
}
}
using System;
using System.Collections.Generic;
using System.Data.SqlClient;
using System.Linq;
using System.Text;
using System.Data;
using System.Data.Common;
using System.Configuration;
namespace TSMS.Common
{ //定義一個抽象類
public abstract class AbstractSqlHelper
{
private SqlConnection conn = null;//初始化一個sql連接
/// <summary>
/// 獲取連接字符串並打開
/// </summary>
public void GetConnection()
{ //private static string conStr = ConfigurationManager.ConnectionStrings["sqlstr"].ConnectionString;
string strCon = ConfigurationManager.ConnectionStrings["sqlstr"].ConnectionString;
conn = new SqlConnection(strCon);
conn.Open();
if (conn.State!=ConnectionState.Open)
{
conn.Close();
conn.Dispose();
}
}
/// <summary>
/// 關閉連接
/// </summary>
public void CloseConnection()
{
if (conn!=null)
{
conn.Close();
conn.Dispose();
}
}
/// <summary>
/// 設置需要執行的存儲過程或語句
/// </summary>
/// <param name="sql"></param>
/// <param name="cmdtype"></param>
/// <param name="pars"></param>
/// <returns></returns>
#region 設置需要執行的存儲過程或語句
public SqlCommand GetCommand(string sql, CommandType cmdtype, params SqlParameter[] pars)
{
GetConnection();
SqlCommand cmd = conn.CreateCommand();
cmd.CommandType = cmdtype;
cmd.CommandText = sql;
if (pars != null)
{
cmd.Parameters.AddRange(pars);
}
return cmd;
}
public SqlCommand GetCommand(string sql, CommandType cmdtype, List<SqlParameter> pars)
{
GetConnection();
SqlCommand cmd = conn.CreateCommand();
cmd.CommandType = cmdtype;
cmd.CommandText = sql;
foreach (SqlParameter s in pars)
{
cmd.Parameters.Add(s);
}
return cmd;
}
#endregion
/// <summary>
/// 執行非查詢
/// </summary>
/// <param name="sql"></param>
/// <param name="cmdtype"></param>
/// <param name="parameters"></param>
/// <returns></returns>
public abstract bool ExecuteNonQurey(string sql, CommandType cmdtype, params SqlParameter[] parameters);
/// <summary>
/// 查詢表通過參數
/// </summary>
/// <param name="sql"></param>
/// <param name="cmdtype"></param>
/// <param name="parameters"></param>
/// <returns>DataSet</returns>
public abstract DataSet GetDataSet(string sql, CommandType cmdtype, params SqlParameter[] parameters);
/// <summary>
/// 查詢表通過list泛型集合
/// </summary>
/// <param name="sql"></param>
/// <param name="cmdtype"></param>
/// <param name="list"></param>
/// <returns></returns>
public abstract DataSet GetDataSet(string sql, CommandType cmdtype, List<SqlParameter> list);
/// <summary>
/// 查詢表通過參數
/// </summary>
/// <param name="sql"></param>
/// <param name="cmdtype"></param>
/// <param name="parameters"></param>
/// <returns>DataTable</returns>
public abstract DataTable GetDataTable(string sql, CommandType cmdtype, params SqlParameter[] parameters);
public abstract object GetSingleData(string sql, CommandType cmdtype, params SqlParameter[] parameters);
public abstract SqlDataReader GetDataReader(string sql,CommandType cmdtype,params SqlParameter[] parameters);
}
}
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Text;
using System.Linq;
namespace TSMS.Common
{
public class Com
{ //檢查是否爲整數
public bool CheckInt(string str)
{
int num;
return int.TryParse(str, out num);
}
}
}
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Drawing;
using System.Data;
using System.Linq;
using System.Text;
using System.Text.RegularExpressions;
using System.Windows.Forms;
using DevExpress.XtraPrinting;
namespace TSMS.WFCL
{
public partial class UCpaging : UserControl
{
//定義一個分頁的事件
public event EventHandler<PageEventArgs> PageEvent;
public int pageCount = 0; //默認總頁數
public int pageIndex = 1; //默認顯示頁數
public UCpaging()
{
InitializeComponent();
SibIsEnable();
}
public class PageEventArgs : EventArgs
{
private int pageSize;
private int pageIndex;
public int PageSize
{
get { return pageSize; }
set { pageSize = value; }
}
public int PageIndex
{
get { return pageIndex; }
set { pageIndex = value; }
}
}
/// <summary>
/// 首頁
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void sib_homepage_Click(object sender, EventArgs e)
{
if (PageEvent != null)
{
PageEventArgs pargs = new PageEventArgs();
pargs.PageIndex = 1;
pageIndex = pargs.PageIndex;
this.txe_nowpage.Text = "1";
this.lbl_nowpage.Text = "/" + pageCount + "頁";
SibIsEnable();
PageEvent(sender, pargs);
}
}
/// <summary>
/// 上一頁
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void sib_propage_Click(object sender, EventArgs e)
{
PageEventArgs pargs = new PageEventArgs();
pageIndex = pageIndex == 1 ? pageIndex : pageIndex - 1;
pargs.PageIndex = pageIndex;
this.txe_nowpage.Text = pageIndex.ToString();
this.lbl_nowpage.Text = "/" + pageCount + "頁";
PageEvent(sender, pargs);
SibIsEnable();
}
/// <summary>
/// 下一頁
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void sim_nextpage_Click(object sender, EventArgs e)
{
if (PageEvent != null)
{
PageEventArgs pargs = new PageEventArgs();
pageIndex = pageIndex == pageCount ? pageCount : pageIndex + 1;
pargs.PageIndex = pageIndex;
this.txe_nowpage.Text = pageIndex.ToString();
this.lbl_nowpage.Text = "/" + pageCount + "頁";
PageEvent(sender, pargs);
SibIsEnable();
}
}
/// <summary>
/// 末頁
/// </summary> <param name="sender"></param>
/// <param name="e"></param>
private void sib_endpage_Click(object sender, EventArgs e)
{
if (PageEvent != null)
{
PageEventArgs pargs = new PageEventArgs();
pargs.PageIndex = pageCount;
pageIndex = pageCount;
this.txe_nowpage.Text = pageCount.ToString();
this.lbl_nowpage.Text = "/" + pageCount + "頁";
SibIsEnable();
PageEvent(sender, pargs);
}
}
/// <summary>
/// 跳轉
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void sib_jump_Click(object sender, EventArgs e)
{
if (Convert.ToInt32(this.txe_nowpage.Text.ToString())==0)
{
this.txe_nowpage.Text= "1";
}
if (PageEvent != null)
{
PageEventArgs pargs = new PageEventArgs();
pageIndex = Convert.ToInt32(this.txe_nowpage.Text.ToString());
pageIndex = pageIndex > pageCount ? pageCount : pageIndex;
pargs.PageIndex = pageIndex;
PageEvent(sender, pargs);
SibIsEnable();
}
}
public void SibIsEnable()
{
#region 分頁按鈕是否可用
this.lbl_nowpage.Text = "/" + pageCount + "頁";
if (pageIndex <= 1)
{
sib_homepage.Enabled = false;
sib_endpage.Enabled = true;
sib_prepage.Enabled = false;
sib_nextpage.Enabled = true;
}
else if (pageIndex >= pageCount)
{
sib_homepage.Enabled = true;
sib_endpage.Enabled = false;
sib_prepage.Enabled = true;
sib_nextpage.Enabled = false;
}
else
{
sib_homepage.Enabled = true;
sib_endpage.Enabled = true;
sib_prepage.Enabled = true;
sib_nextpage.Enabled = true;
}
#endregion
}
private void UCpaging_Load(object sender, EventArgs e)
{
this.lbl_nowpage.Text = "/" + pageCount + "頁";
this.txe_nowpage.Text = pageIndex.ToString();
SibIsEnable();
}
#region 文本框限制輸入
//private string pattern = @"^[0-9]*$";
////private string param1 = null;
//private void txe_nowpage_EditValueChanged(object sender, EventArgs e)
//{
// Match m = Regex.Match(this.txe_nowpage.Text, pattern); // 匹配正則表達式
// if (!m.Success) // 輸入的不是數字
// {
// this.txe_nowpage.Text = null; //textBox內容清空
// // 將光標定位到文本框的最後
// //this.txe_nowpage.SelectionStart = this.txe_nowpage.Text.Length;
// }
// //else // 輸入的是數字
// //{
// // param1 = this.txe_nowpage.Text; // 將現在textBox的值保存下
// //}
//}
#endregion
}
}
三層及winform前臺頁面 XmlHelper.cs Sqlhelper.cs AbstractSqlHelper.cs Com.cs 分頁控件的後臺代碼
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.