class SQLHelper
{
public SqlConnection conn; //<summary>
//链接、打开数据库
//</summary>
public void open()
{
string connectionStr = "server = ;database = ;uid = sa;pwd = ";
conn = new SqlConnection(connectionStr);
conn.Open();
} //<summary>
//关闭数据库
//</summary>
public void close()
{
conn.Dispose();
conn.Close();
conn = null;
} //<summary>
//得到Command对象
//</summary>
public SqlCommand GetCommand(string sqlstring)
{
SqlCommand cmd = new SqlCommand(sqlstring,conn);
return cmd;
} //<summary>
//输入SQL语句,得到DataReader对象
//</summary>
public SqlDataReader GetDataReader(string sqlstring)
{
open();
SqlCommand cmd = new SqlCommand(sqlstring,conn);
SqlDataReader dr = cmd.ExecuteReader();
return dr;
} //<summary>
//输入SQL语句,得到DataSet对象
//</summary>
public DataSet GetDataSet(string sqlstring)
{
open();
SqlCommand cmd = new SqlCommand(sqlstring,conn);
SqlDataAdapter sda = new SqlDataAdapter();
sda.SelectCommand = cmd;
DataSet ds = new DataSet();
//string tmpName = tableName.ToString();
sda.Fill(ds);
close(); return ds;
} //<summary>
//输入SQL语句,得到DataTable对象
//</summary>
public DataTable GetDataTable(string sqlstring)
{
DataSet ds = GetDataSet(sqlstring);
DataTable dt = new DataTable();
dt = ds.Tables[]; return dt;
} //<summary>
//执行非查询命令SQl命令
//</summary>
public int ExecuteSQL(string sqlstring)
{
int count = -;
open();
try
{
SqlCommand cmd = new SqlCommand(sqlstring,conn);
count = cmd.ExecuteNonQuery();
}
catch
{
count = -;
}
finally
{
close();
}
return count;
} //<summary>
//输入SQL语句,检查数据表中是否有该数据信息
//</summary>
public int GetDataRow(string sqlstring)
{
int CountRow = ;
open();
SqlCommand cmd = new SqlCommand(sqlstring,conn); SqlDataAdapter sda = new SqlDataAdapter();
sda.SelectCommand = cmd;
DataSet ds = new DataSet();
sda.Fill(ds);
ds.CaseSensitive = false;
CountRow = ds.Tables[].Rows.Count;
close(); return CountRow;
} //<summary>
//获取单个值
//</summary>
public object GetScalar(string sqlstring)
{
open();
SqlCommand cmd = new SqlCommand(sqlstring,conn);
object result = cmd.ExecuteScalar();
close(); return result;
} //<summary>
//查询某个表的某列的属性数据,并形成列表
//</summary>
//<param name="sqlstring">查询SQL语句</param>
//<param name="m">第m列的属性,整数类型</param>
//<return>ArrayList类型数据,存储在ArrayList中的一组数据</return>
public ArrayList GetArrayList(string sqlstring,int m)
{
//创建Arraylist对象
ArrayList array = new ArrayList();
SqlDataReader dr = GetDataReader(sqlstring);
while (dr.Read()) //遍历所有结果集
{
//取结果集索引的第m列的值并添加到ArrayList对象中
array.Add(dr.GetValue(m));
}
return array; //返回ArrayList对象
} //<summary>
//对整体数据集实时批量更新
//<summary>
//<param name="ds">DataSet</param>
//<param name="sqlstring">SQL语句</param>
//<param name="tableName">表名</param>
//<return>bool变量,表示是否修改成功</return>
public bool doupdate(DataSet ds, string sqlstring, string tableName)
{
bool isUpdateOk = false;
open();
//强制资源清理;Using结束后隐式调用
//Disposable
using (SqlDataAdapter da = new SqlDataAdapter(sqlstring, conn))
{
//数据库表一定要有主键列,否则此处无法通过
SqlCommandBuilder builder = new SqlCommandBuilder(da);
try
{
lock (this)
{
da.Update(ds,tableName);
isUpdateOk = true;
}
}
catch(SqlException ex)
{
MessageBox.Show(ex.ToString(),"错误提示");
}
}
close();
return isUpdateOk;
}
}

用C#进行WinForm开发对数据库的相关操作的更多相关文章

  1. python操作mysql数据库的相关操作实例

    python操作mysql数据库的相关操作实例 # -*- coding: utf-8 -*- #python operate mysql database import MySQLdb #数据库名称 ...

  2. PHP对MySQL数据库的相关操作

    一.Apache服务器的安装 <1>安装版(计算机相关专业所用软件---百度云链接下载)-直接install<2>非安装版(https://www.apachehaus.com ...

  3. Winform开发的应用环境和相关技术介绍

    随着时间的推移,Winform也算是能够坚持下来最久的技术之一了,它的昔日辉煌和现今的依旧活跃,导致了它依旧拥有者很庞大的用户群体,虽然目前很多技术日新月异的,曾经的ASP.ASP.NET WebFo ...

  4. mysql数据库和mongodb数据库的相关操作以及两个数据库的区别

    在docs命令中执行数据操作 MySQL数据库 先启动MySQL服务器  net start mysql 进入MySQL服务器MySQL -uroot -p(这里写你的数据库密码) (-P是从哪个端口 ...

  5. Android下的SQLite数据库的相关操作及AndroidTestCase测试

    一:创建数据库 package com.itcode.mysqlite; import android.content.Context; import android.database.sqlite. ...

  6. C# WinForm 数据库连接及对数据库的相关操作

    1.首先在App.config配置文件中配置数据库连接字符串: <appSettings> <add key="connectionstring" value=& ...

  7. SQLServer 维护脚本分享(04)服务器角色和数据库角色相关操作

    /*------------------------------------------------------------------------------------ [服务器级别-服务器角色] ...

  8. mysql数据库字符集相关操作(修改表字段编码,使其支持emoji表情)

    普通的UTF8编码是不支持emoji表情插入的,会报异常: Caused by: java.sql.SQLException: Incorrect string value: '\xF0\x9F\x9 ...

  9. django中数据库的相关操作

    一.使用环境 python2.7,django>1.7 二.数据库进行配置 在setting文件中进行修改 1.找到DATABASES DATABASES = { 'default': { 'E ...

随机推荐

  1. 学习Slim Framework for PHP v3 (七)--route middleware怎么被add进来的?

    上两篇中分析了route是怎么被加进来的,以及如何被匹配的.这篇说一下route middleware是如何被加进来的,即add进来的.index.php的代码如下: $app->get('/f ...

  2. ASP.NET缓存全解析7:第三方分布式缓存解决方案 Memcached和Cacheman 转自网络原文作者李天平

    Memcached — 分布式缓存系统 1.Memcached是什么? Memcached是高性能的,分布式的内存对象缓存系统,用于在动态应用中减少数据库负载,提升访问速度.Memcached通过在内 ...

  3. 关于DB2 SQL0805N找不到程序包的错误解决办法

    DB2在执行SQL语句的时候会使用内部定义的包(package)来保持不同级别的游标的稳定性, 包的名字就是“ULLID.SYSLH2XX“. DB2 里面默认的时候会创建3个这样的包即SYSLH20 ...

  4. 谷歌浏览器Chrome不再支持showModalDialog的解决办法

    问题重现 弹出窗口编码: JavaScript 0 1 2 3 4 5 6 7   var obj = new Object();   var retval = window.showModalDia ...

  5. 6步图文教你优化myeclipse2014

    MyEclipse 2014优化速度方案仍然主要有这么几个方面:去除无需加载的模块.取消冗余的配置.去除不必要的检查.关闭更新. 第一步: 去除不需要加载的模块 一个系统20%的功能往往能够满足80% ...

  6. 【学习笔记】【C语言】数组

    1. 什么是数组 数组,从字面上看,就是一组数据的意思,没错,数组就是用来存储一组数据的 2. 数组的特点 只能存放一种类型的数据,比如int类型的数组.float类型的数组 里面存放的数据称为“元素 ...

  7. js、expression表达式解析

    首先理解一下下面的表达式:expression(eval(document.documentElement.scrollTop+document.documentElement.clientHeigh ...

  8. 关于getpw系列函数返回的静态区域

    首先说一下什么是getpw系列函数,它主要是指这些函数: 这些函数根据一个用户名(getpwnam和getpwnam_r两个函数)或者一个用户ID(getpwuid和getpwuid_r)来获取这个用 ...

  9. MATLAB light material lighting

    clf;[X,Y,Z]=sphere(40);colormap(jet)subplot(1,2,1),surf(X,Y,Z),axis off square,shading interplight(' ...

  10. xml操作

    一.LINQ to XML 编程基础 1.LINQ to XML类 System.Xml.Linq命名空间含有19个类,下表列出了它们的名称及其描述: 类 描述 XAttribute 表示一个 XML ...