数据库封装类使用

目录

目录
使用介绍
数据库连接
数据查找
数据删除、更新、增加
后续待补充
源码

TOC

使用介绍

数据库连接

当前获取的连接是直接连接mdf文件,需要SQLEXPRESS服务运行,mdf文件位置在当前目录文件夹下

static string conString = "Data Source=.\\SQLEXPRESS;AttachDbFilename="+ System.IO.Directory.GetCurrentDirectory() + "\\ManageSystem.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True";

数据查找

根据用户ID查找用户身份信息和密码

string commend = "select * from UserInfo where UserId=2";
SqlDataReader sqlDr = Utils.getDataReader(commend);
try
{
if (sqlDr.Read())  //返回json数据,根据字段查找自己需要的信息
{
string userididenity1 = (String)sqlDr["UserIdentity"];
string password = (String)sqlDr["UserPwd"];
}
else
{
MessageBox.Show("用户名不存在");
}
sqlDr.Close();
}
catch
{
MessageBox.Show("数据库连接异常,请重新检查连接,检查你的SQL服务是否为SQLEXPRESS");
}

数据删除、更新、增加

string str = "insert bookInfo(bookId,bookName,bookAuthor,bookPub,bookContent,bookQuantity) values(" + textBox1.Text + ",‘" + textBox2.Text + "‘,‘" + textBox3.Text + "‘,‘" + textBox4.Text + "‘,‘" + textBox5.Text+" ‘,‘"  + Quantity.Text + "‘)";
                if (Utils.ExecuteNoQuery(str) != -1)
                {
                    MessageBox.Show("添加成功");
                }

后续待补充

源码

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

namespace ManageSystem
{
    static class Utils
    {
        //static string conString ;
        //static SqlConnection sqlcon;
        /*连接mdf*/

         static string conString = "Data Source=.\\SQLEXPRESS;AttachDbFilename="+ System.IO.Directory.GetCurrentDirectory() + "\\ManageSystem.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True";

        static SqlConnection sqlcon = new SqlConnection(conString);

        public static SqlConnection getSqlCon()
        {

            if (sqlcon.State != System.Data.ConnectionState.Open)
            {
                 string dataDir = AppDomain.CurrentDomain.BaseDirectory;

                sqlcon.Open();
                //if (sqlCon.State == System.Data.ConnectionState.Open)
                //    return true;
                //else
                //    return false;

                return sqlcon;
            }
            return sqlcon;

        }

        public static void CreateConnection()
        {

            if (sqlcon.State != System.Data.ConnectionState.Open)
            {
                sqlcon.Open();
            }
            else
            {
                CloseConnection();
                sqlcon.Open();
            }
        }

        public static void CloseConnection()
        {
            sqlcon.Close();
        }

        public static SqlCommand Querry(string strsql)
        {
            try
            {
                CreateConnection();
                SqlCommand sqlcmd = new SqlCommand(strsql, sqlcon);
                sqlcmd.CommandText = strsql;
                return sqlcmd;
            }
            catch
            {
                return null;
            }
        }

        public static SqlDataReader getDataReader(string strsql)
        {
            try
            {
                CreateConnection();
                SqlCommand sqlcmd = new SqlCommand(strsql, sqlcon);
                sqlcmd.CommandText = strsql;
                SqlDataReader sqlDr = sqlcmd.ExecuteReader();
                return sqlDr;
            }
            catch
            {
                return null;
            }
        }
        //执行Insert/update/delete,不带参数
        public static int ExecuteNoQuery(string strsql)
        {
            int i;
            try
            {
                CreateConnection();
                SqlCommand sqlcmd = new SqlCommand(strsql, sqlcon);
                i = sqlcmd.ExecuteNonQuery();
                sqlcon.Close();
                return i;
            }
            catch
            {
                return -1;
            }
        }
        //执行Insert/update/delete,带参数
        public static int ExecuteNoQuery(string strsql, params SqlParameter[] param)
        {
            int i;
            try
            {
                CreateConnection();
                SqlCommand sqlcmd = new SqlCommand(strsql, sqlcon);
                //sqlcmd.Parameters.Add(param);
                foreach (SqlParameter par in param)   //遍历数组将参数对象添加到操作命令中
                {
                    sqlcmd.Parameters.Add(par);
                }
                i = sqlcmd.ExecuteNonQuery();
                return i;
            }
            catch
            {
                return -1;
            }
        }
        public static DataSet GetDataSet(string strsql)
        {
            CreateConnection();
            SqlDataAdapter sda = new SqlDataAdapter(strsql, sqlcon);
            DataSet ds = new DataSet();
            try
            {
                sda.Fill(ds);
                return ds;
            }
            catch
            {
                return null;
            }
        }
        public static DataSet GetDataSet(string strsql, params SqlParameter[] param)
        {
            CreateConnection();
            SqlDataAdapter sda = new SqlDataAdapter(strsql, sqlcon);
            DataSet ds = new DataSet();
            foreach (SqlParameter par in param)
            {
                sda.SelectCommand.Parameters.Add(par);
            }
            try
            {
                sda.Fill(ds);
                return ds;
            }
            catch
            {
                return null;
            }
        }
        public static DataTable GetTable(string strsql)
        {
            try
            {
                CreateConnection();
                SqlDataAdapter sda = new SqlDataAdapter(strsql, sqlcon);
                DataSet ds = new DataSet();
                sda.Fill(ds, "temp");
                sqlcon.Close();
                return ds.Tables["temp"];
            }
            catch
            {
                return null;
            }
        }
        public static DataTable GetTable(string strsql, params SqlParameter[] param)
        {
            try
            {
                CreateConnection();
                string str = strsql;
                SqlDataAdapter sda = new SqlDataAdapter(strsql, sqlcon);
                foreach (SqlParameter par in param)
                {
                    sda.SelectCommand.Parameters.Add(par);
                }
                DataSet ds = new DataSet();
                sda.Fill(ds, "temp");
                sqlcon.Close();
                return ds.Tables["temp"];
            }
            catch
            {
                return null;
            }
        }
    }
}

原文地址:https://www.cnblogs.com/aqyl/p/11254323.html

时间: 2024-08-14 03:00:21

数据库封装类使用的相关文章

【Cocos2d-x Lua】操作数据库封装类

Lua中操作数据库封装类 使用示例 lua代码: require("DB") -- 保存一个字符串(数据库中存储的数据都是以字符串的形式保存的) DB:getInstance():setString("level",level) -- 根据key(isOpenMusic)返回一个数字,第二个参数为默认返回值 local result = DB:getInstance():getNumber("isOpenMusic",1) -- 根据key(is

python操作数据库 封装类

# -*- coding:utf-8 -*-# Author:Hy# @Time :2018/2/1610:24import pymysql # 封装类class MysqlHelp(object): # 构造 def __init__(self, host, user, passwd, db, port=3306): self.host = host self.user = user self.port = port self.passwd = passwd self.db = db # 创建

数据库 封装类CppSQLite3的helloword VC6

虽然昨天花了一天时间搞定了sqlite的C接口,想着今天应该很快就能搞定CppSQLite3,不过BUG这个东西...真的不好说,一直折腾到下午五点半,期间有段时间非常烦躁,连话都不想说了,莫名其妙的bug,明明看着没问题.最后总算是弄出来了,过程略,简要记录下步骤,方便以后使用. CppSQLite3U是一个封装好的MFC可以使用的操作sqlite3的类. 注:需要提前按sqlite并配置环境. 1.需要的文件5个: CppSQLite3U.cpp CppSQLite3U.h sqlite3.

玩转大数据系列之Apache Pig如何通过自定义UDF查询数据库(五)

GMV(一定时间内的成交总额)是一个衡量电商网站营业收入的一项重要指标,例如淘宝,京东都有这样的衡量标准,感兴趣的朋友可以自己科普下这方面的概念知识. 当然散仙今天,并不是来解释概念的,而是记录下最近工作的一些东西,原来我们平台的GMV只有一个总的成交金额,并没有细分到各个系统的GMV的比重,比如搜索端,推荐端,移动端等等. 通过细粒度的分析各个系统所占的比重,对于指导各个系统完善和发展有一定的重要意义,这里不就深说了,下面先来看下散仙分析的搜索gmv的数据布局方式. (1)Hadoop集群上,

php中mysql数据库操作类

talk less and show code: <?php/** *以下代码用于数据库操作类的封装* * @author rex<[email protected]> * @version 1.0* @since 2015*/ class Mysql{ //数据库连接返回值 private $conn; /*** [构造函数,返回值给$conn]* @param [string] $hostname [主机名]* @param [string] $username[用户名]* @par

levelDB数据库使用及实例 - 高性能nosql存储数据库

LevelDB是google公司开发出来的一款 超高性能kv存储引擎,以其惊人的读性能和更加惊人的写性能在轻量级nosql数据库中鹤立鸡群. 此开源项目目前是支持处理十亿级别规模Key-Value型数据持久性存储的C++ 程序库.在优秀的表现下对于内存的占用也非常小,他的大量数据都直接存储在磁盘上.可以理解为以空间换取时间. 任何东西都不是十全十美的,LevelDB也有它的局限性: LevelDB 只是一个 C/C++ 编程语言的库, 不包含网络服务封装, 所以无法像一般意义的存储服务器(如 M

解剖SQLSERVER 第八篇 OrcaMDF 现在支持多数据文件的数据库(译)

原文:解剖SQLSERVER 第八篇 OrcaMDF 现在支持多数据文件的数据库(译) 解剖SQLSERVER 第八篇  OrcaMDF 现在支持多数据文件的数据库(译) http://improve.dk/orcamdf-now-supports-databases-with-multiple-data-files/ OrcaMDF 其中一个最新特性是支持多数据文件的数据库.这在解析上面需要作出相关的小改变,实际上大部分都是bug 修复代码 由于之前只支持单个数据文件而引起的.然而这确实需要一

unity中使用本地数据库sqlite

sqlite的安全性没用mySql高,因为sqlite不用创建用户,以及权限设置,sqlite是单机数据库,功能简约,小型化,MySql试用于服务器数据量大功能多需要安装,例如网站访问量比较大的数据管理 其实MySQL与Sqlite中的数据库操作函数基本上都一样,没什么区别,主要区别就是权限和库大小 注意:在使用这个sqlite数据管理时,也要把,几个需要的动态库放到Plugins里面(Mono.Data.Sqlite,   sqlite3,   System.Data)这几个动态库百度都能搜到

MFC,ADO方式实现数据库操作

参考: MSDN数据访问编程 (MFC/ATL): https://msdn.microsoft.com/zh-cn/library/kd4ck1tt.aspx?f=255&MSPPError=-2147217396 ado方式操作数据库封装类的使用范例: http://download.csdn.net/detail/xianglitian/2383423 使用ADO封装类的数据库程序开发实例: http://wenku.baidu.com/link?url=A3g4_Ucz1RuijQMZ8