• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

【转】在C#中如何使用数据库操作类Sql

原作者: [db:作者] 来自: [db:来源] 收藏 邀请
数据库操作类的封装是任何工程都必不可少地,本例当然也不例外。Sql类主要包括两类方法:一类用来直接执行SQL语句,另一类用来执行存储过程。

    其中的数据库连接字符串的数据库路径采用了绝对路径,读者调试程序时应当做相应的更改。Sql类的具体代码如下:


    using System;
    using System.Collections.Generic;
    using System.Text;
    using System.Data.SqlClient;
    using System.Data;
    namespace MyChat

    {

    //数据库操作类

    public class Sql
    {
    private string str = null;                   //数据库连接字符串
    public SqlConnection Con;                    //sql数据连接组件实例化
    public SqlCommand command = new SqlCommand();    //初始化一个SQL命令对象
    public Sql()                                 //类初始化,初始化数据连接
    {
    string path = @"C:\Documents and Settings\Administrator\桌面\tools\
    mychat1.0\Chat";
    //数据库连接字符串
    str="Data Source=.\\SQLEXPRESS;AttachDbFilename=\"" + path + "\\app_data\\chat.mdf\";
    Integrated Security=True;User Instance=True";
    Con = new SqlConnection(str);
    }

    #region SQL语句操作

    // 执行只读数据信息的提取,返回一个datareader

    public SqlDataReader GetReader(string search)
    {
    SqlDataReader Reader;
    if(Con.State != ConnectionState.Open)
    Con.Open();                           //打开数据库连接
    SqlCommand Com = new SqlCommand(search, Con);
    Reader = Com.ExecuteReader();        //执行SQL语句
    return Reader;                           //返回一个reader
    }

    // 输入查询字符串,返回dataset

    public DataSet getMyDataSet(string sql)
    {
    command.Connection = Con;            //配置command对象
    command.CommandText = sql;           //赋予要执行的语句
    DataSet dt = new DataSet();          //初始化一个数据返回集合
    SqlDataAdapter da = new SqlDataAdapter(command);
    Con.Open();                          //打开连接
    da.Fill(dt);                     //执行语句
    command.Connection.Close();          //关闭连接
    return dt;
    }

    // 执行非查询SQL语句

    public void ExecuteSql(string sql)
    {
    if(Con.State != ConnectionState.Open)
    Con.Open();                      //如果数据连接关闭,则打开
    SqlCommand Com = new SqlCommand(sql, Con);
    Com.ExecuteNonQuery();               //执行非查询SQL语句
    Con.Close();
    }

    // 执行非查询数据库操作,是否关闭数据库连接  可以选择

    public void ExecuteSql(string sql, bool closeConnection)
    {
    if(Con.State != ConnectionState.Open)
    Con.Open();                      //如果未打开连接,则打开
    SqlCommand Com = new SqlCommand(sql, Con);
    Com.ExecuteNonQuery();
    if (closeConnection) Con.Close();    //如果需要关闭,则关闭连接
    }

    #endregion
    #region 执行存储过程的代码

    //输入存储过程名称,执行查询存储过程
    public DataSet getDataSet(string produreName)
    {
    command.Connection = Con;            //赋予连接对象
    //执行的类型为存储过程
    command.CommandType = CommandType.StoredProcedure  ;
    command.CommandText = produreName;   //赋予执行的存储过程名字
    DataSet dt = new DataSet();
    SqlDataAdapter da = new SqlDataAdapter(command);
    Con.Open();                          //打开连接
    da.Fill(dt);                     //填充数据
    command.Connection.Close();
    return dt;                           //返回数据集
    }

    //输入存储过程名,执行非查询存储过程

    public bool exec(string produreName)
    {
    bool flag = false;                   //任务是否正确执行,初始化为false
    command.Connection = Con;            //赋予command对象以数据连接
    command.CommandType = CommandType.StoredProcedure;
    command.CommandText = produreName;   //存储过程名称
    try
    {
    command.ExecuteNonQuery();        //执行存储过程
    flag = true;                      //正确完成任务
    }

    finally
    {
    command.Connection.Close();           //关闭连接
    }
    return flag;                         //返回成功与否的标志
    }
    #endregion
    }
    } 

 

 

select CONVERT(varchar(10),getdate(),120)
2004-09-12

select CONVERT(varchar, getdate(), 120 )
2004-09-12 11:06:08

select replace(replace(replace(CONVERT(varchar, getdate(), 120 ),'-',''),' ',''),':','')
20040912110608

select CONVERT(varchar(12) , getdate(), 111 )
2004/09/12

select CONVERT(varchar(12) , getdate(), 112 )
20040912

select CONVERT(varchar(12) , getdate(), 102 )
2004.09.12

其它我不常用的日期格式转换方法:

select CONVERT(varchar(12) , getdate(), 101 )
09/12/2004

select CONVERT(varchar(12) , getdate(), 103 )
12/09/2004

select CONVERT(varchar(12) , getdate(), 104 )
12.09.2004

select CONVERT(varchar(12) , getdate(), 105 )
12-09-2004

select CONVERT(varchar(12) , getdate(), 106 )
12 09 2004

select CONVERT(varchar(12) , getdate(), 107 )
09 12, 2004

select CONVERT(varchar(12) , getdate(), 108 )
11:06:08

select CONVERT(varchar(12) , getdate(), 109 )
09 12 2004 1

select CONVERT(varchar(12) , getdate(), 110 )
09-12-2004

select CONVERT(varchar(12) , getdate(), 113 )
12 09 2004 1

select CONVERT(varchar(12) , getdate(), 114 )
11:06:08.177

 


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
C#Bitmap转化为BitmapImage方法发布时间:2022-07-10
下一篇:
C#中检查null的语法糖发布时间:2022-07-10
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap