数据库操作类的封装是任何工程都必不可少地,本例当然也不例外。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
}
}
在C#中国如何使用数据库操作类Sql
转载本文章为转载内容,我们尊重原作者对文章享有的著作权。如有内容错误或侵权问题,欢迎原作者联系我们进行内容更正或删除文章。
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
SQL数据库入门04:数据查询操作
本文介绍基于Microsoft SQL Server软件,实现数据库表中多种数据查询方法的具体操作~
SQL 数据库 SQL Server MySQL 数据库查询 -
c#操作sql数据库
常用语句 备用 命名空间:using System.Data.SqlClient; 连接打
c# 连接sql 数据库 sql 表名 -
在C#中用SQLDMO创建SQL数据库
/// <summary> /// 创建数据库。 /// </summary> &n
数据库 C# SQLDMO SQL数据库 休闲 -
C# 连接和操作SQL SERVER数据库
C# 连接和操作SQL SERVER数据库
sql 数据库 c# 数据集 增删改查