-
SQLHelper连接数据库示例类
[实例简介] 连接sql数据库 类 [核心代码]using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Configuration;using System.Data.SqlClient;using System.Data; namespace Itcast.Cn{ public static class SqlHelper { private static readonly string conStr = ConfigurationManager.ConnectionStrings["connStr"].ConnectionString; //执行增删改的 public static int ExecuteNonQuery(string sql, CommandType cmdType, params SqlParameter[] pms) { using (SqlConnection con = new SqlConnection(conStr)) { using (SqlCommand cmd = new SqlCommand(sql, con)) { cmd.CommandType = cmdType; if (pms != null) { cmd.Parameters.AddRange(pms); } con.Open(); return cmd.ExecuteNonQuery(); } } } //封装一个执行返回单个值的方法 public static object ExecuteScalar(string sql, CommandType cmdType, params SqlParameter[] pms) { using (SqlConnection con = new SqlConnection(conStr)) { using (SqlCommand cmd = new SqlCommand(sql, con)) { cmd.CommandType = cmdType; if (pms != null) { cmd.Parameters.AddRange(pms); } con.Open(); return cmd.ExecuteScalar(); } } } //返回SqlDataReader对象的方法 public static SqlDataReader ExecuteReader(string sql, CommandType cmdType, params SqlParameter[] pms) { SqlConnection con = new SqlConnection(conStr); using (SqlCommand cmd = new SqlCommand(sql, con)) { cmd.CommandType = cmdType; if (pms != null) { cmd.Parameters.AddRange(pms); } try { con.Open(); return cmd.ExecuteReader(CommandBehavior.CloseConnection); } catch (Exception) { con.Close(); con.Dispose(); throw; } } } //封装一个返回DataTable的方法 public static DataTable ExecuteDataTable(string sql, CommandType cmdType, params SqlParameter[] pms) { DataTable dt = new DataTable(); using (SqlDataAdapter adapter = new SqlDataAdapter(sql, conStr)) { adapter.SelectCommand.CommandType = cmdType; if (pms != null) { adapter.SelectCommand.Parameters.AddRange(pms); } adapter.Fill(dt); } return dt; } //封装一个带事务的执行Sql语句的方法 public static void ExecuteNonQueryTran(List list) { using (SqlConnection con = new SqlConnection(conStr)) { using (SqlCommand cmd = con.CreateCommand()) { con.Open(); using (SqlTransaction trans = con.BeginTransaction()) { cmd.Transaction = trans; try { foreach (var SqlObject in list) { cmd.CommandText = SqlObject.Sql; if (SqlObject.Parameters != null) { cmd.Parameters.AddRange(SqlObject.Parameters); } cmd.CommandType = SqlObject.CmdType; cmd.ExecuteNonQuery(); cmd.Parameters.Clear(); } trans.Commit(); } catch (Exception) { trans.Rollback(); } } } } } } public class SqlAndParameter { public string Sql { get; set; } public SqlParameter[] Parameters { get; set; } public CommandType CmdType { get; set; } }}
- 2015-04-01下载
- 积分:1
-
asp.net防刷新(F5) 禁止重复提交 实例(附完整源码)
实现了用户操作时 刷新导致的重复操作问题。 实现原理如下: 使用一个上下文唯一的票据号,该票据号随页面提交或回发而递增,每当用户与服务器端交互时,代码会提取上次的票据号码并与当前票据号码比较,如果当前票据大于上次的票据,则是提交或回发,否则则识别为刷新。 这种方式会用到HttpMoudel,并在其中操作Session。 使用方法如下: 1、引入dll MsdnExt 压缩包中有2.修改web.config,在 添加以下item: 其中“MsdnModule”是一个名字, “Msdn.RefreshModule”是“Msdn”下的“RefreshModule”类型,“MsdnExt”是程序集的名字 3.引入命名空间 using Msdn; 并修改页面类继承Msdn.Page 4.使用代码 代码: protected void Button1_Click(object sender, EventArgs e) { if (!IsPageRefresh) Response.Write("按钮事件"); else Response.Write("页面刷新");TrackRefreshState();} MSDNPage.cs 核心代码如下:using System;using System.Web.UI;using System.Web;using System.Text;namespace Msdn{ public class Page : System.Web.UI.Page { #region Constants // *********************************************************** // Constants public const string RefreshTicketCounter = "RefreshTicketCounter"; private const string SetFocusFunctionName = "__setFocus"; private const string SetFocusScriptName = "__inputFocusHandler"; // *********************************************************** #endregion // *********************************************************** // Ctor public Page() { m_focusedControl = ""; // Register a PreRender handler this.PreRender = new EventHandler(RefreshPage_PreRender); } // *********************************************************** // ************************************************************** // Indicates if the page is being viewed in response to F5 hit public bool IsPageRefresh { get { object o = HttpContext.Current.Items[RefreshAction.PageRefreshEntry]; if (o == null) return false; return (bool) o; } } // ************************************************************** // ************************************************************** // Increase the internal counter used to generate refresh tickets public void TrackRefreshState() { InitRefreshState(); int ticket = Convert.ToInt32(Session[RefreshTicketCounter]) 1; Session[RefreshTicketCounter] = ticket; } // ************************************************************** // ************************************************************** // Set the control with the input focus public void SetFocus(string ctlId) { m_focusedControl = ctlId; } // ************************************************************** #region Private Members // ************************************************************** // Create the hidden field to store the current request ticket private void SaveRefreshState() { int ticket = Convert.ToInt32(Session[RefreshTicketCounter]) 1; RegisterHiddenField(RefreshAction.CurrentRefreshTicketEntry, ticket.ToString()); } // ************************************************************** // ************************************************************** // Ensure that the ticket counter is initialized private void InitRefreshState() { if (Session[RefreshTicketCounter] == null) Session[RefreshTicketCounter] = 0; } // ************************************************************** // ************************************************************** // Handle the PreRender event private void RefreshPage_PreRender(object sender, EventArgs e) { SaveRefreshState(); AddSetFocusScript(); } // ************************************************************** // ************************************************************** // Add any script code required for the SetFocus feature private void AddSetFocusScript() { if (m_focusedControl == "") return; // Add the script to declare the function // (Only one form in ASP.NET pages) StringBuilder sb = new StringBuilder(""); sb.Append(""); sb.Append("function "); sb.Append(SetFocusFunctionName); sb.Append("(ctl) {"); sb.Append(" if (document.forms[0][ctl] != null)"); sb.Append(" {document.forms[0][ctl].focus();}"); sb.Append("}"); // Add the script to call the function sb.Append(SetFocusFunctionName); sb.Append("(); sb.Append(m_focusedControl); sb.Append();"); // Register the script (names are CASE-SENSITIVE) if (!IsStartupScriptRegistered(SetFocusScriptName)) RegisterStartupScript(SetFocusScriptName, sb.ToString()); } // ************************************************************** #endregion #region Private Properties // *********************************************************** // Private properties private string m_focusedControl; // *********************************************************** #endregion }}
- 2021-03-16 17:39:21下载
- 积分:1
-
C# 通用方法 项目源码下载(含人民币转换大小写类)
C# 通用方法 项目源码下载(含人民币转换大小写类)
- 2015-02-06下载
- 积分:1
-
asp.net 发邮件实例源码下载
asp.net webform形式 发邮件
- 2015-01-10下载
- 积分:1
-
C#串口调试助手(源码)
串口调试助手 VS开发,C#串口编程实例
- 2018-09-16下载
- 积分:1
-
c# 经典TreeListView方法 实例源码下载
c# 经典TreeListView方法 实例源码下载
- 2014-11-26下载
- 积分:1
-
C#获取IP
简介:一个简单的C#获取IP,并且在前台显示
环境:VS2017
核心:
- 2021-08-28 00:31:04下载
- 积分:1
-
MVC实现二级域名泛解析,并实现了LinkExtensions类的ActionLink的不同重载
用Asp.Net MVC实现泛域名解析 实现了如下功能:www.{language}-{culture}.example.comwww.{controller}.example.com/{action}www.{clientname}.example.com
- 2012-12-16下载
- 积分:1
-
WebBrowser控件上的网页与Winform 交互 实例下载
本文旨在演示WebBrowser控件上的代码(Javascript、Html Dom)与Winform控件本身的交互,实现在WebBrowser的C/S程序中调用其网页上的Javascript函数,甚至反过来在网页的Javascript代码中调用C/S程序中的方法。 以下示例点到为止,比如“B/S Dom对象的事件”示例中,除了用onchange/onpropertychange之外,其他任何支持的html事件均能使用,如onclick、onkeydown等等。 例子中没有详细列出可以应用的方式和使用范围,但我们加以思考,触类旁通,可以实现很多很多功能的。
- 2013-06-20下载
- 积分:1
-
C#实现 口令加密Exe文件 实例源码,从而禁用某些功能的使用
加密后文件后缀为 .mrexe,加密后文件不可打开,只能通过此程序打开了
- 2013-01-28下载
- 积分:1