c#常用操作数据库的语句(database.cs)

DataBase.cs

using System;
using System.Collections;
using System.Collections.Generic;
using System.Data;
using System.Data.SqlClient;
using System.Linq;
using System.Web;

namespace filemaneger.Models
{
    public class DataBase
    {
        public SqlConnection connection;
        /// <summary>
        /// 打开数据库
        /// </summary>
        private void open()
        {
            // string connstring = @"Data Source=(local);Initial Catalog=filemaneger;Persist Security Info=True;User ID=sa;Password=123456";
            string connstring = ConfigurationManager.ConnectionStrings["Conn"].ConnectionString;
            connection = new SqlConnection(connstring);
            connection.Open();
        }
        /// <summary>
        /// 关闭数据库
        /// </summary>
        private void close()
        {
            connection.Dispose();
            connection.Close();
            connection = null;
        }

        /// <summary>
        /// 输入SQL命令,得到DataReader对象
        /// </summary>
        public SqlDataReader GetDataReader(string sqlstring)
        {
            open();
            SqlCommand mycom = new SqlCommand(sqlstring, connection);
            SqlDataReader Dr = mycom.ExecuteReader();
            return Dr;
        }
        /// <summary>
        /// 输入SQL命令,得到Dataset
        /// </summary>
        public DataSet GetDataSet(string sqlstring)
        {
            open();
            SqlCommand mycom = new SqlCommand(sqlstring, connection);
            SqlDataAdapter adapter = new SqlDataAdapter();
            adapter.SelectCommand = mycom;

            DataSet dataset = new DataSet();
            adapter.Fill(dataset);
            close();
            return dataset;
        }
        /// <summary>
        /// 执行非查询命令SQL命令
        /// </summary>
        public int ExecuteSQL(string sqlstring)
        {
            int count = -1;
            open();
            try
            {
                SqlCommand cmd = new SqlCommand(sqlstring, connection);
                count = cmd.ExecuteNonQuery();
            }
            catch
            {
                count = -1;
            }
            finally
            {
                close();
            }
            return count;
        }
        /// <summary>
        /// 输入SQL命令,检查数据表中是否有该数据信息
        /// </summary>
        public int GetdataRow(string sqlstring)
        {
            int CountRow = 0;
            open();
            SqlCommand mycom = new SqlCommand(sqlstring, connection);
            SqlDataAdapter da = new SqlDataAdapter();
            da.SelectCommand = mycom;
            DataSet ds = new DataSet();
            da.Fill(ds);

            ds.CaseSensitive = false;
            CountRow = ds.Tables[0].Rows.Count;//取行集合中的元素的总数
            close();
            return CountRow;
        }
        /// <summary>
        /// 输入SQL命令,得到DataTable对象
        /// </summary>
        public DataTable GetDataTable(string sqlstring)
        {
            DataSet ds = GetDataSet(sqlstring);
            DataTable dt = new DataTable();
            dt = ds.Tables[0];
            return dt;

        }

        /// <summary>
        /// 获取单个值
        /// </summary>
        public object GetScalar(string sqlstring)
        {
            open();
            SqlCommand mycom = new SqlCommand(sqlstring, connection);
            object result = mycom.ExecuteScalar();
            close();
            return result;
        }
        /// <summary>
        /// 对整体数据集实施批量更新;一般用于列表这样的对象
        /// </summary>
        /// <param name="ds">DataSet</param>
        /// <param name="sql">sql语句</param>
        /// <param name="tableName">表名</param>
        /// <returns></returns>
        public bool doUpdate(DataSet ds, String sql, String tableName)
        {
            bool flag = false;
            open();
            //强制资源清理;清理非托管资源,不受GC控制的资源。Using结束后会隐式的调用Disposable方法。
            using (SqlDataAdapter da = new SqlDataAdapter(sql, connection))
            {
                //数据库表一定要有主键列 否则此处通不过
                SqlCommandBuilder builder = new SqlCommandBuilder(da);
                try
                {
                    lock (this)
                    {
                        da.Update(ds, tableName);
                        flag = true;
                    }
                }
                catch (SqlException e)
                {
                    throw new Exception(e.Message);
                }
            }
            close();
            return flag;
        }
        /// <summary>
        /// 查询某张表的某列属性的数据,并形成列表
        /// </summary>
        /// <param name="sqlstring">查询SQL字串</param>
        /// <param name="m">第m列的属性,整数类型</param>
        /// <returns></returns>
        public ArrayList GetListArray(string sqlstring, int m)
        {
            ArrayList array = new ArrayList();//创建ArrayList对象 
            SqlDataReader dr = GetDataReader(sqlstring);
            while (dr.Read())//遍历所有结果集 
            {
                array.Add(dr.GetValue(m));//取到结果集索引的第0列的值并添加到ArrayList对象中 
            }
            return array;//返回ArrayList对象 
        }
    }
}

然后在web.config配置连接语句(web.config是vs创建项目的时候自己创建的哦)

<configuration>
  <connectionStrings>
    <add name="Conn" connectionString="Data Source=(local);Initial Catalog=filemaneger;Persist Security Info=True;User ID=sa;Password=123456"/>
  </connectionStrings>
</configuration>

在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值