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. 阿里巴巴的分布式应用框架-dubbo负载均衡策略--- 一致哈希算法

    dubbo是阿里巴巴公司开发的一个开源分布式应用框架,基于服务的发布者和订阅者,服务者启动服务向注册中心发布自己的服务:消费者(订阅者)启动服务器向注册中心订阅所需要的服务.注册中心将订阅的服务注册列 ...

  2. XML文件注意问题

    一.Elements和Descendant Elements 相当于root节点下的子节点,Desendant元素相当于root节点下的所有子节点(包括root.elments下个子节点也包括root ...

  3. asp.net实现通用水晶报表

    此片博文是在你有一定水晶报表基础的前提下参阅的:如果对于水晶报表的基础知识比较薄弱建议先去了解下水晶报表: 因为项目需要,研究了下水晶报表.说实在,这个组件很强大,但是用起来也很麻烦.刚开始使用遇到了 ...

  4. Part 34 to 35 Talking about multiple class inheritance in C#

    Part 34 Problems of multiple class inheritance Part 35 Multiple class inheritance using interfaces

  5. 北大ACM(POJ1013-Counterfeit Dollar)

    Question:http://poj.org/problem?id=1013 问题点:排除+验证. Memory: 244K Time: 16MS Language: C++ Result: Acc ...

  6. Cocos2d-x多场景切换生命周期

    在多个场景切换时候,场景的生命周期会更加复杂.这一节我们介绍一下场景切换生命周期. 多个场景切换时候分为几种情况: 情况1,使用pushScene函数从实现HelloWorld场景进入Setting场 ...

  7. UI1_UICollectionView

    // AppDelegate.m // UI1_UICollectionView // // Created by zhangxueming on 15/7/16. // Copyright (c) ...

  8. 初识sass

    大图:http://images2015.cnblogs.com/blog/730765/201605/730765-20160529113743209-72994369.png

  9. [Guava源码分析]Ordering:排序

    我的技术博客经常被流氓网站恶意爬取转载.请移步原文:http://www.cnblogs.com/hamhog/p/3876466.html,享受整齐的排版.有效的链接.正确的代码缩进.更好的阅读体验 ...

  10. 自动化测试平台CATP

    CATP:报文类工具,可以测试功能