using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data;
using System.Data.SqlClient;
namespace DAL
{
static class DBHelper
{
//数据库连接字符串
private static readonly string ConnectionStr = @"Data Source=.;Initial Catalog=LMOA;Integrated Security=True";
//private static readonly string ConnectionStr = @"Data Source=.;Initial Catalog=C:\USERS\ADMINISTRATOR\DESKTOP\TEACHERLIBRARY\TEACHERLIBRARY\APP_DATA\LMS.MDF;Integrated Security=True";
// server=localhost;userid=root;database=example;port=3306
/// <summary>
/// 初始化command
/// </summary>
/// <param name="connection">连接</param>
/// <param name="sql">sql语句</param>
/// <param name="type">Sql类型</param>
/// <param name="command">命令对象</param>
/// <param name="pars">sql参数</param>
private static void PrepareCommand(SqlConnection connection, string sql, CommandType type, SqlCommand command, SqlParameter[] pars)
{
command.Connection = connection;
command.CommandText = sql;
command.CommandType = type;
if (pars != null)
{
command.Parameters.AddRange(pars);
}
}
/// <summary>
/// 根据Sql语句获得数据表
/// </summary>
/// <param name="sql">sql语句</param>
/// <param name="type">Sql类型</param>
/// <param name="pars">sql参数</param>
public static DataTable GetDataTableBySql(string sql, CommandType type, SqlParameter[] pars)
{
DataSet ds = new DataSet();
using (SqlConnection connection = new SqlConnection(ConnectionStr))
{
SqlCommand command = new SqlCommand();
PrepareCommand(connection, sql, type, command, pars);
SqlDataAdapter adapter = new SqlDataAdapter(command);
adapter.Fill(ds);
}
if (ds.Tables[0].Rows.Count > 0)
{
return ds.Tables[0];
}
return null;
}
/// <summary>
/// 增删改
/// </summary>
/// <param name="sql">sql语句</param>
/// <param name="type">sql类型</param>
/// <param name="pars">sql参数</param>
/// <returns></returns>
public static int ExecuteNonQuery(string sql, CommandType type, SqlParameter[] pars)
{
int result = -1;
using (SqlConnection connection = new SqlConnection(ConnectionStr))
{
try
{
SqlCommand command = new SqlCommand();
PrepareCommand(connection, sql, type, command, pars);
connection.Open();
result = command.ExecuteNonQuery();
connection.Close();
}
catch (Exception ex)
{
throw new Exception("执行SQL出现错误:\r\n" + sql + "\r\n" + ex.ToString());
}
finally
{
connection.Close();
}
}
return result;
}
}
}
C#访问数据库通用帮助类
最新推荐文章于 2023-05-17 11:44:10 发布