winform的DBhelper

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

namespace TicketSystem
{
   public class DBHelper
    {
       string conStr = "Data Source=.;Initial Catalog=Ticket;Integrated Security=True";
       private SqlConnection _connection;
       /// <summary>
       /// 公共属性,获取连接对象
       /// </summary>
       public SqlConnection Connection {
           get{
                if(_connection==null){
                    _connection=new SqlConnection(conStr);
                }
               return _connection;
           }
          
         
       }
       /// <summary>
       /// 打开数据库连接
       /// </summary>
       public void OpenConnect() {
           if (_connection.State == ConnectionState.Closed)//关闭状态
           {
               _connection.Open();
           }
           else if (_connection.State == ConnectionState.Broken)//断开状态
           {
               _connection.Close();
               _connection.Open();
           }
       }
      /// <summary>
       /// 关闭数据库连接
      /// </summary>
       public void CloseConnect() {
           if (_connection.State == ConnectionState.Open
               || _connection.State == ConnectionState.Broken)
           {
               _connection.Close();
           }
       }
   }
}

时间: 2024-12-18 10:08:15

winform的DBhelper的相关文章

winform分页控件

五一过的一多半已经过去了,感觉过的真快. 言归正传说说最近一直在用的winform分页控件. 一. 添加新项-用户控件 二.拖控件,这个很简单 三.写代码 using System; using System.Collections.Generic; using System.ComponentModel; using System.Drawing; using System.Data; using System.Linq; using System.Text; using System.Win

C#/ASP.NET完善的DBHelper,配套Model生成器

支持Oracle.MSSQL.MySQL.SQLite四种数据库,支持事务,支持对象关系映射:已在多个项目中实际使用. 没有语法糖,学习成本几乎为0,拿来即用. DBHelper类完整代码: using System; using System.Collections.Generic; using System.ComponentModel; using System.Configuration; using System.Data; using System.Data.Common; usin

.net 在数据访问层中写一个DBhelper优化类

复习了在学校的时候做的WinForm端的一个学生信息管理系统,用的三层架构,看了一下里面的数据优化类 这个类是用来把对数据库的操作封装成静态方法,增删改查的时候直接调用这个类,减少项目里代码的冗余和方便以后修改. Dbhelper类代码如下: using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System

winform DataGridView的虚模式填充,CellValueNeeded事件的触发条件

虚模式填充常用来处理大量数据,某个字段的显示问题. DataGridView是.net 2.0新增的表格数据编辑和显示控件,简单的数据显示和编辑,只需直接和数据源绑定就可以了. 对于 一些特殊情况,我们需要自己填充DataGridView,这时候只需要按照行列顺序,首先获得行,然后通过行的Cells属性,得到单元格,设置其 Value属性即可.但这种模式有个问题,即对于几十行或者几百行的数据,显示效率不是问题,当数据量逐渐增大时,效率就成了一个非常重要的问题. 那么,如何解决这样的问题呢,写过或

winform学习日志(二十三)---------------socket(TCP)发送文件

一:由于在上一个随笔的基础之上拓展的所以直接上代码,客户端: using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using System.Net.Sockets; using Sys

.Net WinForm 控件键盘消息处理剖析

在WinForm控件上我们可以看到很多关于键盘消息处理的方法,比如OnKeyDown, OnKeyPress, ProcessCmdKey, ProcessDialogKey,IsInputKey等等,那么这些方法是如何被组织的,每一个方法的具体含义又是什么哪?Win32的键盘消息又是如何到达控件上的这些方法的,本文将着重阐述这些问题,对.Net WinForm控件的键盘消息处理过程进行剖析.  1.      WinForm消息循环 大家都知道WinForm也是依赖于底层的消息机制的,通常我们

Winform软件,不要在线程里操作UI

对于Winform软件,不要在线程里操作UI,不要相信:StartForm.CheckForIllegalCrossThreadCalls = false; 于是,把所有的代码都改成主线程委托调用的方式 private delegate void SetTextHandle(string id, string value); private void ThreadSetText(string id, string value) { this.Controls.Find(id, true)[0].

WinForm 多窗体、菜单和工具栏

今天,我首先先学习了一下在WinForm程序开发中常遇到的问题——多窗体程序运行问题. 在开发多窗体程序时,常会遇到以下四个方面的问题: 一.哪个是主窗体 问题:主窗体隐藏了,关闭其它窗体后,没有将主窗体显示/关闭,那么程序就关不上了. 当遇到这个问题时,我们通常的解决办法是:构造函数传值,将窗体传到另一个窗体中去,进行关闭. 二.窗体只能打开一个 创建一个全局的泛型集合,为了放置全部打开的窗体.在窗体打开之前,判断集合中是否有name一致的窗体,如果有就说明已经打开了,就不要再打开了. 问题:

winform里面打开网页,以及意想不到的功能

首先,新建一个winform项目,我在想,如果想要实现打开网页功能的话,应该会有一个控件什么之类的吧?查了工具栏,真的有一个名叫 WebBrowser的家伙,应该就是这货没错了.在网上查了它的资料更加坚定了我的判断,二话不说,拖进Form里.接着,就是要显示一个网页了,要怎 么实现呢?继续查看WebBrowser都有啥属性和方法: 方法 说明 GoBack 相当于IE的“后退”按钮,使你在当前历史列表中后退一项 GoForward 相当于IE的“前进”按钮,使你在当前历史列表中前进一项 GoHo