1 public classSQLServerDatabase2 {3 private static SqlConnection m_Connection = null;4

5 public SQLServerDatabase(stringstrConnection)6 {7 m_Connection = newSqlConnection(strConnection);8 OpenConnection();9 }10 //链接数据库操作

11 public SQLServerDatabase(string strServerName, string strDatabaseName, string strUserName, string strPassword, boolbIntegratedSecurity)12 {13 string strConnection = "data source =" + strServerName + ";initial catalog =" +strDatabaseName;14 if(bIntegratedSecurity)15 {16 strConnection += ";Integrated Security = SSPI";17 }18 else

19 {20 strConnection += ";user id =";21 strConnection +=strUserName;22 strConnection += ";password =";23 strConnection +=strPassword;24 }25 m_Connection = newSqlConnection(strConnection);26 OpenConnection();27 }28 //根据sql语句获得datatable

29 public DataTable GetTableBySQL(string strSQL, bool bAddWithKey = false)30 {31 SqlCommand cmd = new SqlCommand(null, m_Connection);32 cmd.CommandType =CommandType.Text;33 cmd.CommandText =strSQL;34

35 SqlDataAdapter da = newSqlDataAdapter(cmd);36

37 DataTable dTable = newDataTable();38 da.Fill(dTable);39

40 returndTable;41 }42 //获得datarow根据sql语句

43 public DataRow GetRowBySQL(stringstrSQL)44 {45 DataTable dTable =GetTableBySQL(strSQL);46

47 if (dTable.Rows.Count == 0)48 return null;49 else

50 return dTable.Rows[0];51 }52 //执行sql语句

53 public void ExecuteSQL(stringstrSQL)54 {55 SqlCommand cmd = new SqlCommand(null, m_Connection);56 cmd.CommandType =CommandType.Text;57 cmd.CommandText =strSQL;58 cmd.ExecuteNonQuery();59 }60 //执行事务,传入sql列表

61 public void ExecuteNonQueryTransSql(ListlstSql)62 {63 SqlConnection conn =m_Connection;64 SqlTransaction sqlTran = null;65 SqlCommand cmd = newSqlCommand(); ;66 try

67 {68 sqlTran =conn.BeginTransaction(IsolationLevel.ReadCommitted);69 cmd.Connection =conn;70 cmd.CommandType =CommandType.Text;71 cmd.CommandTimeout = 1800;72 cmd.Transaction =sqlTran;73

74 foreach (String sql inlstSql)75 {76 cmd.CommandText =sql;77 cmd.ExecuteNonQuery();78 }79 sqlTran.Commit();80 }81 catch(Exception ex)82 {83 try

84 {85 if (sqlTran != null)86 {87 sqlTran.Rollback();88 }89 }90 catch

91 {92 }93 throwex;94 }95 finally

96 {97 cmd.Dispose();98 }99 }100 //获得最后的ID

101 public intGetLastID()102 {103 SqlCommand cmd = new SqlCommand(null, m_Connection);104 cmd.CommandType =CommandType.Text;105 cmd.CommandText = "select @@identity";106 returnSystem.Convert.ToInt32(cmd.ExecuteScalar());107 }108

109 //判断数据库库中是否有相应的表

110 public bool TableExists(stringstrTableName)111 {112 string sql = "select * from sysobjects where type='U' and name='" + strTableName + "'";113 SqlDataAdapter sqlda = newSqlDataAdapter(sql, m_Connection);114 DataSet ds = newDataSet();115 sqlda.Fill(ds);116 return (ds.Tables[0].Rows.Count != 0);117 }118 //得到表名称

119 public ListGetTableName()120 {121 List listTableName = new List();122

123 DataTable dt = GetTableBySQL("select name from sysobjects where type='U'");124 foreach (DataRow row indt.Rows)125 {126 listTableName.Add(row["name"].ToString());127 }128

129 returnlistTableName;130 }131

132

133 //判断字段是否存在

134 public bool FieldExists(string strTableName, stringstrFieldName)135 {136 string sql = "select * from syscolumns where id=object_id('" + strTableName + "') and name='" + strFieldName + "'";137 SqlDataAdapter sqlda = newSqlDataAdapter(sql, m_Connection);138 DataSet ds = newDataSet();139 sqlda.Fill(ds);140 return (ds.Tables[0].Rows.Count != 0);141 }142 //关闭链接

143 public voidCloseConnection()144 {145 m_Connection.Close();146 }147 //打开链接

148 public voidOpenConnection()149 {150 m_Connection.Open();151 }152

153 public System.Data.Common.DbCommand NewCommand(stringstrCommandText)154 {155 return newSqlCommand(strCommandText, m_Connection);156 }157 //获得表列

158 public DataTable GetColumnTable(stringstrTableName)159 {160 string sql = "select * from syscolumns where id=object_id('" + strTableName + "')";161 SqlDataAdapter sqlda = newSqlDataAdapter(sql, m_Connection);162 DataSet ds = newDataSet();163 sqlda.Fill(ds);164 return (ds.Tables[0]);165 }166 }

数据库封装 sql server mysql_sqlserver数据库操作封装相关推荐

  1. Access数据库转换为SQL Server 2000数据库

    建立Access数据库student.mdb,建立表student如下(若已有Access数据库则不需要建立): student num name age fromw school major sco ...

  2. 数据库封装 sql server mysql_mysql数据库封装

    /** * name: sql操作封装,可扩展 . * User: 张云山 * Date: 2016/9/4 * Time: 22:02 */ //php文件编码设置 header('Content- ...

  3. 数据库高可用性——SQL Server 2005数据库复制简单图解

        本鸟给大家浅谈一下SQL 2005数据库的复制过程,那么为什么要进行复制呢?数据库复制是指:将表格或数据库的数据复制到另一个表格中或数据库中,利用数据库复制技术可以把数据库全部内容完整的复制到 ...

  4. 按键精灵手机版(安卓 ios) 如何连接远程网络数据库 比如 sql server, 进行读写操作 云端自动化等

    一.前情提要 按键手机版直连的话 现在只支持本地数据库sqllite,想连接远程数据库也不是没办法,但麻烦一点 需要建立一个 "中转站" .姑且这么称呼,最形象. "中转 ...

  5. SQL Server 移动数据库

    SQL Server 移动数据库 原文:SQL Server 移动数据库 移动系统数据库在下列情况下可能很有用: 故障恢复.例如,数据库处于可疑模式下或因硬件故障而关闭. 计划的重定位. 为预定的磁盘 ...

  6. tempdb SQL Server系统数据库的配置,操作和限制

    介绍 (Introduction) tempdb is one of the 4 system databases that exists in all SQL Server instances. T ...

  7. sql server跨服务器修改数据,SQL Server跨数据库服务器查询和跨表更新的详细操作...

    SQL Server数据库跨数据库服务器查询和跨表更新的相关知识是本文我们主要要介绍的内容,接下来我们就通过一个实例来介绍这一过程.实例是这样的:想实现的功能很简单, 在我的本地一个表用来保存省的信息 ...

  8. Sql Server 和 Access 操作数据库结构Sql语句

    下面是Sql Server 和 Access 操作数据库结构的常用Sql,希望对你有所帮助. 新建表: create table [表名] ( [自动编号字段] int IDENTITY (1,1) ...

  9. 数据库设计-SQL Server开发实现学习

    1.目录 SQL Server数据库基础 T-SQL语言编程框架 实例规范:项目 笔记1 SQL Server数据库基础 1. 1数据库及其对象 SQLserver的数据库是所涉及的对象以及数据的集合 ...

最新文章

  1. git merge合并时遇上refusing to merge unrelated histories的解决方案
  2. 【Python】如何用Python来操作PDF文件,建议收藏
  3. ASP.NET MVC中在Action获取提交的表单数据方法总结
  4. 【设计】精致的侧滑菜单设计案例
  5. mysql离散查询_如何写出高性能的MySQL查询
  6. [收藏]JDBC学习笔记
  7. asp.net mvc5+Echarts3.0+AspNet.SignalR2.0 实时监控cpu占用率推送
  8. 在java中调用python方法
  9. python json解析工具选择_推荐几个开发必备的JSON工具
  10. 线程优先级的设定pthread_setschedparam
  11. 解决VS2017安装一直卡在正在下载
  12. Dell EMC Isilon命令行方式添加一个接口到pool
  13. 信息安全概论课堂笔记
  14. 电子烟脱去糖衣后,下一步往哪走?
  15. 解决服务器空间满/var/lib/docker/overlay2占用很大,千万慎用 docker system prune -a清理 mongodb等数据库容器及镜像可能被删,找回恢复数据
  16. comsol-旋度的形象化概念
  17. 在线安装rancher2.4管理K8S集群并部署服务
  18. PDF图纸怎么转成CAD?这个方法了解一下
  19. linux信号量对mysql_MySQL 信号量semaphore 和 innodb_adaptive_hash_index
  20. 二、为jupyter notebook 添加标题

热门文章

  1. centos5.2 lamp安装指南
  2. Docker的安装和操作(虚拟机+linux系统)
  3. SAP WDA 自建Portal
  4. 验证输入是否满足条件
  5. Python—json模块
  6. mysql的压缩版安装
  7. 团队合作-需求分析之WBS
  8. 失败全是无能,成功多是侥幸。
  9. GitHub 新手使用手册
  10. 1 Centos7安装(jdk8)Tomcat9并设置为开机启动