C#(winForm)写在公共类的几个常用方法

转载 2007年09月12日 09:31:00
*****************************************************************************      说明
** 1.获取数据库的连接,返回值需判断是否为null-----------GetSqlConnection
*  2.根据Select--查询语句,返回DataSet-------------------GetDataSet
*  3.使用数据库内容填充DataGrid----------------FillDataGridFromSQLString
*  4.使用数据库内容填充DataGrid----------------FillDataGridFromSQLString(重载)
*  5、返回SQL语句所查询出来的行数-------------------------------GetRowCount
*  6.填充下拉列表------------------------------------------FillComboBox*   
   7.由一条SQL语句生成一个DataReader;返回值需要判断是否为空------GetDataReader
*  8.返回单个查询数据:第一列,第一行的值-------------------GetFirstData
*  9.对数据库中的一条记录操作:增、删、更新---------------ExecuteCommand
*  10.对数据库进行增删改操作-----------------------------ExecuteCommand2
*  11.判断str是不是全是由数字构成-------------------------IsNumeric
*  12.检测含有中文字符串的实际长度------------------------len
***************************************************************************/
using System;
using System.Data.SqlClient;
using System.Data;
using System.Windows.Forms;
namespace Tayside.Common
{
   /// <summary>
   /// DataBase 的摘要说明。
   /// </summary>
   public class DataBase
   {
      public DataBase()
      {
      }
      /// <summary>
      /// 1.获取数据库的连接,返回值需判断是否为null
      /// </summary>
      /// <returns></returns>
      public static SqlConnection GetSqlConnection()
      {
         string strCnn = "Server=192.168.12.136;database=Tayside;user id=sa;password=";
         try
         {
            SqlConnection sqlCnn = new SqlConnection(strCnn);
            sqlCnn.Open();
            return sqlCnn;
         }
         catch(Exception ee)
         {
            string temp=ee.Message;
            return null;
         }
      }

      /// <summary>
      /// 获取SqlCommand对象
      /// </summary>
      /// <returns></returns>
      public static SqlCommand GetSqlCommand()
      {
         SqlConnection sqlCnn = GetSqlConnection();
         if(sqlCnn == null)
            return null;
         else
         {
            SqlCommand sqlCmm = new SqlCommand();
            sqlCmm.Connection = sqlCnn;
            return sqlCmm;
         }
      }

      /// <summary>
      /// 2.根据Select--查询语句,返回DataSet
      /// </summary>
      /// <param name="strSql">Select SQL语句</param>
      /// <returns>返回值需判断是否为空</returns>
      public static DataSet GetDataSet(string strSql)
      {
         try
         {
            using( SqlConnection sqlCnn = GetSqlConnection() )
            {
               SqlDataAdapter dataAdapter = new SqlDataAdapter( strSql, sqlCnn );
               DataSet dataSet = new DataSet();
               dataAdapter.Fill( dataSet );
               return dataSet; 
            }
         }
         catch
         {
            return null;
         }
      }

      /// <summary>
      /// 3.使用数据库内容填充DataGrid
      /// </summary>
      /// <param name="dataGrid">要填充的DataGrid</param>
      /// <param name="strSql">要获取数据库内容的SQL字符串</param>
      /// <returns></returns>
      public static bool FillDataGridFromSQLString( DataGrid dataGrid,string strSql)
      {
         try
         {
            DataSet ds = GetDataSet(strSql);
            dataGrid.SetDataBinding(ds, "");

            return true;
         }
         catch(Exception ee)
         {
            string t=ee.Message;
            return false;
         }
      }

      /// <summary>
      /// 4.使用数据库内容填充DataGrid
      /// </summary>
      /// <param name="dataGrid">要填充的DataGrid</param>
      /// <param name="strSql">要获取数据库内容的SQL字符串</param>
      /// <param name="table">要添充DataGrid的表名</param>
      /// <returns></returns>
      public static bool FillDataGridFromSQLString( DataGrid dataGrid,string strSql,string table)
      {
         try
         {
            DataSet ds = GetDataSet(strSql);
            dataGrid.SetDataBinding(ds, table);

            return true;
         }
         catch(Exception ee)
         {
            string t=ee.Message;
            return false;
         }
      }

      /// <summary>
      /// 5、返回SQL语句所查询出来的行数
      /// </summary>
      /// <param name="strSql"></param>
      /// <returns></returns>
      public static int GetRowCount(string strSql)
      {
         DataSet ds = GetDataSet(strSql);
         int count = ds.Tables[0].Rows.Count;
         return count;
      }

      /// <summary>
      /// 6.填充下拉列表
      /// </summary>
      /// <param name="cmBox">要添充的ComboBox</param>
      /// <param name="strSql">查询语句</param>
      /// <returns>是否成功</returns>
      public static bool FillComboBox(ComboBox cmBox,string strSql)
      {
         try
         {
            using(SqlConnection sqlCnn = GetSqlConnection())
            {
               SqlDataReader dr = GetDataReader(strSql);
               while(dr.Read())
               {
                  cmBox.Items.Add(dr.GetValue(0));
               }
               return true;
            }
         }
         catch
         {
            return false;
         }
      }

      /// <summary>
      /// 7.由一条SQL语句生成一个DataReader;返回值需要判断是否为空
      /// </summary>
      /// <param name="strSql">要使用的SQl语句</param>
      /// <returns></returns>
      public static SqlDataReader GetDataReader(string strSql)
      {
         try
         {
            SqlConnection sqlCnn = GetSqlConnection();
            SqlCommand sqlCmm = new SqlCommand(strSql,sqlCnn);
            return sqlCmm.ExecuteReader(CommandBehavior.CloseConnection);
         }
         catch
         {
            return null;
         }
      }

      /// <summary>
      /// 8.返回单个查询数据:第一列,第一行的值
      /// </summary>
      /// <param name="strSql">Select SQL语句</param>
      /// <returns></returns>
      public static string GetFirstData(string strSql)
      {
         try
         {
            using( SqlConnection sqlCnn = GetSqlConnection() )
            {
               SqlCommand sqlCmm = new SqlCommand(strSql,sqlCnn);
               return sqlCmm.ExecuteScalar().ToString();
            }
         }
         catch
         {
            return "";
         }
      }

      /// <summary>
      /// 9.对数据库中的一条记录操作:增、删、更新
      /// </summary>
      /// <param name="strSql">要执行的SQL语句</param>
      /// <returns>返回执行是否成功</returns>
      public static bool ExecuteCommand(string strSql)
      {
         try
         {
            using( SqlConnection sqlCnn = GetSqlConnection())
            {
               SqlCommand sqlCmm = new SqlCommand(strSql,sqlCnn);
               int temp = sqlCmm.ExecuteNonQuery();
               return  temp == 1;

            }
         }
         catch
         {
            return false;
         }

      }

      /// <summary>
      /// 10.对数据库进行增删改操作
      /// </summary>
      /// <param name="strSql"></param>
      /// <returns></returns>
      public static bool ExecuteCommand2(string strSql)
      {
         try
         {
            using( SqlConnection sqlCnn = GetSqlConnection())
            {
               SqlCommand sqlCmm = new SqlCommand(strSql,sqlCnn);
               int temp = sqlCmm.ExecuteNonQuery();
               return  true;
            }
         }
         catch
         {
            return false;
         }
      }

      /// <summary>
      /// 11.判断str是不是全是由数字构成
      /// </summary>
      /// <param name="str"></param>
      /// <returns></returns>
      public static bool IsNumeric(string str) 
      { 
         if (str==null || str.Length==0) 
            return false; 
         foreach(char c in str) 
         { 
            if (!Char.IsNumber(c)) 
            { 
               return false; 
            } 
         } 
         return true; 
      } 

      /// <summary>
      /// 12.检测含有中文字符串的实际长度
      /// </summary>
      /// <param name="str">字符串</param>
      public static int len(string str)
      {
         System.Text.ASCIIEncoding n = new System.Text.ASCIIEncoding();
         byte[] b = n.GetBytes(str);
         int l = 0; // l 为字符串的实际长度
         for (int i=0;i <= b.Length-1;i++)
         {
            if (b[i] ==63) //判断是否为汉字或全脚符号
            {
               l++;
            }
            l++;
         }   
         return l;
      }     }

 
 

C#数据库公共访问类----公共的数据库访问访问类

using System; using System.Collections.Generic; using System.Text; using System.Data; using System.D...

Delphi7高级应用开发随书源码

  • 2003年04月30日 00:00
  • 676KB
  • 下载

C#常用工具类——Excel操作类

// 常用工具类——Excel操作类 ///  ------------------------------------------------ ///  CreateConnecti...

MT如何调用C#的dll所产生问题

 C#的DLL不是标准的,需要通过C 再编一个标准DLL中转调用C#的DLL, MQL再调用C的标准DLL。...

.NET程序内存分析工具CLRProfiler的使用(性能测试)

大家都知道.net有一套自己的内存(垃圾)回收机制,除非有一些数据(方法)长期占有内存不随着垃圾回收功能而释放内存,这样就造成了我们经常说的内存泄露、内存持续增长得不到释放等问题导致APS.net网站...

C#WinForm程序最小化后在托盘中隐藏方法以及几个关键点的简单分析

在做一个小程序时遇到这样一个问题,最小化Form程序后,想在托盘中隐藏,同时在任务栏中显示,双击任务栏图标再将程序显示出来。 因此在网上找了找,找到一篇实现的帖子。方法还不错,网上的实践方法也基本引...
  • skygpan
  • skygpan
  • 2011年11月28日 12:51
  • 1350

C# Winform DataGridView 公共分页实现

# Winform DataGridView 公共分页实现 Demo的界面     我利用事件委托事件,仿http://www.cnblogs....

c#(winform)中自定义ListItem类方便ComboBox和ListBox添加项完全解决(DropDownList 和Combox 数据绑定的常用方法) .

刚开始用.net 的winform开发,发现好些控件都很难用,可能是不熟悉的原因吧,这不,一个给ComboBox添加项的问题就搞的我很头疼,我要同时给一个项添加名字和值,怎么都没法加,查了查资料,又自...
  • snihcel
  • snihcel
  • 2013年04月01日 17:00
  • 854
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章: C#(winForm)写在公共类的几个常用方法
举报原因:
原因补充:

(最多只允许输入30个字)