1,本人在培训班学习的java,从培训班出来后做了一年his实施工程师。现在在一家公司学习C#,学习几天后知道公司大佬主要是用C#web写项目,故此学习C# web开发,大佬将公司项目数据访问层源代码发我学习后,编写注释。
private static string m_connectionString = "";
///summar 是 html 里的标签,点解标题会有提示
/// <summary>
/// 执行SQL语句 返回数据集
/// </summary>
/// <param name="commandText"></param>
/// <param name="connectionString">没有 就传个 null</param>
/// <param name="sqlParameters">没有 就传个 null</param>
/// <returns></returns>
///
//进行数据库连接的方法
//conmmandText sql语句参数
public static System.Data.DataTable ExecuteSelectCommand(string commandText, string connectionString, System.Data.SqlClient.SqlParameter[] sqlParameters)
{ // 判断connectionString 是否为空或者为empty
if (string.IsNullOrEmpty(connectionString) == true)
{
//若为空则复制为""
connectionString = SqlHelper_New.m_connectionString;
}
//抛异常
try
{
//初始化器 using(){}里执行可以不用手动关闭DataReader和close,自动关闭
//生成连接数据库的对象 connection
//参数connectionString 参数用于打开数据库的链接
using (System.Data.SqlClient.SqlConnection connection = new System.Data.SqlClient.SqlConnection(connectionString))
{
//打开连接
connection.Open();
//使用查询的文本和 System.Data.SqlClient.SqlConnection 初始化 System.Data.SqlClient.SqlCommand
// 类的新实例。
System.Data.SqlClient.SqlCommand command = new System.Data.SqlClient.SqlCommand(commandText, connection)
{ //CommandType.Text代表执行的是SQL语句
//CommandType.StoreProcedure代表执行的是存储过程
//CommandType代表要执行的类型
CommandType = System.Data.CommandType.Text
};
//sqlparameters 不为空或者长度大于零
if (sqlParameters != null && sqlParameters.Length > 0)
{ //将查询出的内容装在sqlparameters中
command.Parameters.AddRange(sqlParameters);
}
//将DataSet中的内容更新之数据库中,若无修改数据库中数据只需用到command即可
System.Data.SqlClient.SqlDataAdapter sqlDataAdapter = new System.Data.SqlClient.SqlDataAdapter
{
SelectCommand = command
};
//实例化一个表
System.Data.DataTable dataTable = new System.Data.DataTable();
//datadapter缓存中的数据存入打他dataTable表中
sqlDataAdapter.Fill(dataTable);
//返回表中数据
return dataTable;
}
}
catch (System.Exception ex)
{
//抛出异常,最下面有个异常方法
_WriteToFile("C:\\SQL日志", "SqlHelper_New", true, string.Format("{0}|{1}", DateTime.Now.ToString(), ex.Message));
return null;
}
}
/// <summary>
/// 执行SQL语句 返回受影响的行数。
/// </summary>
/// <param name="commandText"></param>
/// <param name="connectionString"></param>
/// <returns></returns>
public static int ExecuteUpdateCommand(string commandText, string connectionString, System.Data.SqlClient.SqlParameter[] sqlParameters)
{
// 字符串参数不为空,需要一个在栈中有指向的空字符串
if (string.IsNullOrEmpty(connectionString) == true)
{
connectionString = SqlHelper_New.m_connectionString;
}
try
{
using (System.Data.SqlClient.SqlConnection connection = new System.Data.SqlClient.SqlConnection(connectionString))
{
connection.Open();
System.Data.SqlClient.SqlCommand command = new System.Data.SqlClient.SqlCommand(commandText, connection)
{
CommandType = System.Data.CommandType.Text
};
if (sqlParameters != null && sqlParameters.Length > 0)
{
command.Parameters.AddRange(sqlParameters);
}
//返回的行数
return command.ExecuteNonQuery();
}
}
catch (System.Exception)
{
return -1;
}
}
public static int ExecuteUpdateCommand(string commandText, string connectionString)
{
if (string.IsNullOrEmpty(connectionString) == true)
{
connectionString = SqlHelper_New.m_connectionString;
}
try
{
using (System.Data.SqlClient.SqlConnection connection = new System.Data.SqlClient.SqlConnection(connectionString))
{
connection.Open();
System.Data.SqlClient.SqlCommand command = new System.Data.SqlClient.SqlCommand(commandText, connection)
{
CommandType = System.Data.CommandType.Text
};
return command.ExecuteNonQuery();
}
}
catch (System.Exception ex)
{
_WriteToFile("C:\\SQL日志", "SqlHelper_New", true, string.Format("{0}|{1}", DateTime.Now.ToString(), ex.Message));
return -1;
}
}
这个是对SQL语句进行访问,调用方法。