• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >C#教程 > 分享C#中几个可用的类

分享C#中几个可用的类

作者:天尽头的那片海 字体:[增加 减小] 来源:互联网 时间:2017-05-28

天尽头的那片海 通过本文主要向大家介绍了c哥的分享,c值分享,马桶c的网盘分享,百度云马桶c的分享,c值分享网等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

本文实例为大家介绍了几个可用的类,供大家参考,具体内容如下

1.SQLHelper类

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data.SqlClient;
using System.Data;

using System.Configuration;
namespace MySchool.DAL
{
 public static class SQLHelper
 {
 //用静态的方法调用的时候不用创建SQLHelper的实例
 //Execetenonquery
 // public static string Constr = "server=HAPPYPIG\\SQLMODEL;database=shooltest;uid=sa;";
 public static string Constr = ConfigurationManager.ConnectionStrings["constr"].ConnectionString;
 public static int id;
 /// <summary>
 /// 执行NonQuery命令
 /// </summary>
 /// <param name="cmdTxt"></param>
 /// <param name="parames"></param>
 /// <returns></returns>
 public static int ExecuteNonQuery(string cmdTxt, params SqlParameter[] parames)
 {
 return ExecuteNonQuery(cmdTxt, CommandType.Text, parames);
 }
 //可以使用存储过程的ExecuteNonquery
 public static int ExecuteNonQuery(string cmdTxt, CommandType cmdtype, params SqlParameter[] parames)
 {
 //判断脚本是否为空 ,直接返回0
 if (string.IsNullOrEmpty(cmdTxt))
 {
 return 0;
 }
 using (SqlConnection con = new SqlConnection(Constr))
 {
 using (SqlCommand cmd = new SqlCommand(cmdTxt, con))
 {
  if (parames != null)
  {
  cmd.CommandType = cmdtype;
  cmd.Parameters.AddRange(parames);
  }
  con.Open();
  return cmd.ExecuteNonQuery();
 }
 }
 }
 public static SqlDataReader ExecuteDataReader(string cmdTxt, params SqlParameter[] parames)
 {
 return ExecuteDataReader(cmdTxt, CommandType.Text, parames);
 }
 //SQLDataReader存储过程方法
 public static SqlDataReader ExecuteDataReader(string cmdTxt, CommandType cmdtype, params SqlParameter[] parames)
 {
 if (string.IsNullOrEmpty(cmdTxt))
 {
 return null;
 }
 SqlConnection con = new SqlConnection(Constr);

 using (SqlCommand cmd = new SqlCommand(cmdTxt, con))
 {
 cmd.CommandType = cmdtype;
 if (parames != null)
 {
  
  cmd.Parameters.AddRange(parames);
 }
 con.Open();
 //把reader的行为加进来。当reader释放资源的时候,con也被一块关闭
 return cmd.ExecuteReader(System.Data.CommandBehavior.CloseConnection);
 }

 }
 public static DataTable ExecuteDataTable(string sql, params SqlParameter[] parames)
 {
 return ExecuteDataTable(sql, CommandType.Text, parames);
 }
 //调用存储过程的类,关于(ExecuteDataTable)
 public static DataTable ExecuteDataTable(string sql, CommandType cmdType, params SqlParameter[] parames)
 {
 if (string.IsNullOrEmpty(sql))
 {
 return null;
 }
 DataTable dt = new DataTable();
 using (SqlDataAdapter da = new SqlDataAdapter(sql, Constr))
 {
 da.SelectCommand.CommandType = cmdType;
 if (parames != null)
 {
  da.SelectCommand.Parameters.AddRange(parames);
 }
 da.Fill(dt);
 return dt;
 }
 }
 
 /// <summary>
 /// ExecuteScalar
 /// </summary>
 /// <param name="cmdTxt">第一个参数,SQLServer语句</param>
 /// <param name="parames">第二个参数,传递0个或者多个参数</param>
 /// <returns></returns>
 public static object ExecuteScalar(string cmdTxt, params SqlParameter[] parames)
 {
 return ExecuteScalar(cmdTxt, CommandType.Text, parames);
 } 
 //可使用存储过程的ExecuteScalar
 public static object ExecuteScalar(string cmdTxt, CommandType cmdtype, params SqlParameter[] parames)
 {
 if (string.IsNullOrEmpty(cmdTxt))
 {
 return null;
 }
 using (SqlConnection con = new SqlConnection(Constr))
 {
 using (SqlCommand cmd = new SqlCommand(cmdTxt, con))
 {
  cmd.CommandType = cmdtype;
  if (parames != null)
  {
  cmd.Parameters.AddRange(parames);
  }
  con.Open();
 return cmd.ExecuteScalar();
 }
 }
 
 }
 //调用存储过程的DBHelper类(关于ExeceutScalar,包含事务,只能处理Int类型,返回错误号)
 public static object ExecuteScalar(string cmdTxt, CommandType cmdtype,SqlTransaction sqltran, params SqlParameter[] parames)
 {
 if (string.IsNullOrEmpty(cmdTxt))
 {
 return 0;
 }
 using (SqlConnection con = new SqlConnection(Constr))
 {
 int sum = 0;
 using (SqlCommand cmd = new SqlCommand(cmdTxt, con))
 {
  cmd.CommandType=cmdtype;
  if (parames != null)
  {
  cmd.Parameters.AddRange(parames);
  }
  con.Open();
  sqltran = con.BeginTransaction();
  try
  {
  cmd.Transaction = sqltran;
  sum=Convert.ToInt32( cmd.ExecuteScalar());
  sqltran.Commit();
  }
  catch (SqlException ex)
  {
  sqltran.Rollback();
  }
  return sum;
 }
 }
 }
 }
}

</div>

例如:

 //以返回表的方式加载下拉框
 public DataTable LoadCombox()
 {
 string sql = "select * from Grade";
 DataTable dt = SQLHelper.ExecuteDataTable(sql);
 return dt;
 }
</div>

2.MyTool类(DataTable转List<>)

using System;
using System.Collections.Generic;
using System.Data;
using System.Data.SqlClient;
using System.Linq;
using System.Reflection;
using System.Text;
using System.Threading.Tasks;

namespace MySchool.DAL
{
 public class MyTool
 {
 /// <summary>
 /// DataSetToList
 /// </summary>
 /// <typeparam name="T">转换类型</typeparam>
 /// <param name="dataSet">数据源</param>
 /// <param name="tableIndex">需要转换表的索引</param>
 /// <returns></returns>
 public List<T> DataTableToList<T>(DataTable dt)
 {
 //确认参数有效
 if (dt == null )
 return null;
 List<T> list = new List<T>();

 for (int i = 0; i < dt.Rows.Count; i++)
 {
 //创建泛型对象
 T _t = Activator.CreateInstance<T>();
 //获取对象所有属性
 PropertyInfo[] propertyInfo = _t.GetType().GetProperties();
 for (int j = 0; j < dt.Columns.Count; j++)
 {
  foreach (PropertyInfo info in propertyInfo)
  {
  //属性名称和列名相同时赋值
  if (dt.Columns[j].ColumnName.ToUpper().Equals(info.Name.ToUpper()))
  {
  if (dt.Rows[i][j] != DBNull.Value)
  {
  info.SetValue(_t, dt.Rows[i][j], null);
  }
  else
  {
  info.SetValue(_t, null, null);
  }
  break;
  }
  }
 }
 list.Add(_t);
 }
 return list;
 }
 }
}
</div>

例如: 

 public List<Grade> Loadcombox2() 
 {
 string sql = "select * from Grade";
 DataTable dt = SQLHelper.ExecuteDataTable(sql);
 //方法一:
 foreach (DataRow row in dt.Rows)
 {
  //每一个row代表表中的一行,所以一行对应一个年级对象
  Grade grade = new Grade();
  grade.GradeId = Convert.ToInt32(row["gradeid"]);
  grade.GradeName = row["gradename"].ToString();
  list.Add(grade);
 }

 //方法二:(使用MyTool类)
 MyTool tool=new MyTool();
 list = tool.DataTableToList<Grade>(dt);
 return list;
 }

</div>

3.DGMsgDiv类(可生成自己的控件) 

using System;
using System.Collections.Generic;
using System.Text;
using System.Windows.Forms;

/// <summary>
/// 消息条回调函数委托
/// </summary>
public delegate void DGMsgDiv();
 /// <summary>
 /// 消息条类 带Timer计时
 /// </summary>
public class MsgDiv : System.Windows.Forms.Label
{
 private Timer timerLable = new Timer();
 /// <summary>
 /// 消息回调 委托对象
 /// </summary>
 private DGMsgDiv dgCallBack = null;

 #region 计时器
 /// <summary>
 /// 计时器
 /// </summary>
 public Timer TimerMsg
 {
 get { return timerLable; }
 set { timerLable = value; }
 } 
 #endregion

 #region MsgDiv构造函数
 /// <summary>
 /// MsgDiv构造函数
 /// </summary>



 
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • 分享C#中几个可用的类

相关文章

  • 2017-05-28C#如何检测操作系统版本
  • 2017-05-28C#将Excel中的数据转换成DataSet
  • 2017-05-28C#特性 匿名类型与隐式类型局部变量使用介绍
  • 2017-05-28C#引用类型作为方法的参数分析
  • 2017-05-28C#泛型委托的用法实例分析
  • 2017-05-28C#线程定义和使用方法详解
  • 2017-05-28C# SqlHelper应用开发学习
  • 2017-05-28创建execl导入工具类的步骤
  • 2017-05-28word ppt excel文档转换成pdf的C#实现代码
  • 2017-05-28WinForm项目开发中WebBrowser用法实例汇总

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • 深入多线程之:Wait与Pulse的使用详解
    • C#使用Mutex简单实现程序单实例运行的方法
    • 基于字符集、字符编码与HTTP编码解码之万象详解
    • C# 操作符之三元操作符浅析
    • 基于使用BeginInvoke,EndInvoke异步调用委托的实现代码
    • C#中使用HttpDownLoadHelper下载文件实例
    • C# Guid.NewGuid获得随机数
    • C# WinForm创建Excel文件的实例
    • 轻松学习C#的结构和类
    • C#多线程编程中的锁系统(四):自旋锁

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有