用于SqlServer数据库的SqlServerHelper.cs类,及其调用例子

本文介绍了一个用于 SQL Server 的 C# 辅助类库,它提供了数据库连接配置、读取数据、执行 CRUD 操作等功能,并展示了如何通过示例代码进行实际应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Configuration; using System.Data; using System.Data.SqlClient; namespace JonseTest { public class SqlServerHelper { public static string ConnString = string.Empty; public static string Conn_Config_Str_Name = string.Empty; public static string Conn_Server = string.Empty; public static string Conn_DBName = string.Empty; public static string Conn_Uid = string.Empty; public static string Conn_Pwd = string.Empty; private static string _ConnString { get { if (!string.IsNullOrEmpty(ConnString)) return ConnString; object oConn = ConfigurationManager.ConnectionStrings[Conn_Config_Str_Name]; if (oConn != null && oConn.ToString() != "") return oConn.ToString(); return string.Format(@"server={0};database={1};uid={2};password={3}", Conn_Server, Conn_DBName, Conn_Uid, Conn_Pwd); } } // 取datatable public static DataTable GetDataTable(out string sError, string sSQL) { DataTable dt = null; sError = string.Empty; try { SqlConnection conn = new SqlConnection(_ConnString); SqlCommand comm = new SqlCommand(); comm.Connection = conn; comm.CommandText = sSQL; SqlDataAdapter dapter = new SqlDataAdapter(comm); dt = new DataTable(); dapter.Fill(dt); } catch (Exception ex) { sError = ex.Message; } return dt; } // 取dataset public static DataSet GetDataSet(out string sError, string sSQL) { DataSet ds = null; sError = string.Empty; try { SqlConnection conn = new SqlConnection(_ConnString); SqlCommand comm = new SqlCommand(); comm.Connection = conn; comm.CommandText = sSQL; SqlDataAdapter dapter = new SqlDataAdapter(comm); ds = new DataSet(); dapter.Fill(ds); } catch (Exception ex) { sError = ex.Message; } return ds; } // 取某个单一的元素 public static object GetSingle(out string sError, string sSQL) { DataTable dt = GetDataTable(out sError, sSQL); if (dt != null && dt.Rows.Count > 0) { return dt.Rows[0][0]; } return null; } // 取最大的ID public static Int32 GetMaxID(out string sError, string sKeyField, string sTableName) { DataTable dt = GetDataTable(out sError, "select isnull(max([" + sKeyField + "]),0) as MaxID from [" + sTableName + "]"); if (dt != null && dt.Rows.Count > 0) { return Convert.ToInt32(dt.Rows[0][0].ToString()); } return 0; } // 执行 insert,update,delete 动作,也可以使用事务 public static bool UpdateData(out string sError, string sSQL, bool bUseTransaction=false) { int iResult = 0; sError = string.Empty; if (!bUseTransaction) { try { SqlConnection conn = new SqlConnection(_ConnString); if (conn.State != ConnectionState.Open) conn.Open(); SqlCommand comm = new SqlCommand(); comm.Connection = conn; comm.CommandText = sSQL; iResult = comm.ExecuteNonQuery(); } catch (Exception ex) { sError = ex.Message; iResult = -1; } } else // 使用事务 { SqlTransaction trans = null; try { SqlConnection conn = new SqlConnection(_ConnString); if (conn.State != ConnectionState.Open) conn.Open(); trans = conn.BeginTransaction(); SqlCommand cmd = new SqlCommand(); cmd.Connection = conn; cmd.CommandText = sSQL; cmd.Transaction = trans; iResult = cmd.ExecuteNonQuery(); trans.Commit(); } catch (Exception ex) { sError = ex.Message; iResult = -1; trans.Rollback(); } } return iResult > 0; } } }


调用方法:

一,先设置数据库连接的信息

//SqlServerHelper.ConnString = @"server=电脑名 或 电脑IP;database=数据库名;uid=数据库登录名;password=数据库登录密码";

SqlServerHelper.Conn_Config_Str_Name = @"ConnString"; // ConnString的信息在 App.Config里设置

//SqlServerHelper.Conn_Server = @"电脑名 或 电脑IP";
//SqlServerHelper.Conn_DBName = "数据库名";
//SqlServerHelper.Conn_Uid = "数据库登录名";
//SqlServerHelper.Conn_Pwd = "数据库登录密码";

二, App.Config

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<connectionStrings>
<add name="ConnString" connectionString="server=电脑名 或 电脑IP;database=数据库名;uid=数据库登录名;password=数据库登录密码" />
</connectionStrings>
</configuration>

三, 读取 datatable / dataset 数据

private void InitGrid()
{

string sSQL = "select * from test";

string sError = string.Empty;

DataTable dt = SqlServerHelper.GetDataTable(out sError, sSQL);

//DataSet dt = SqlServerHelper.GetDataSet(out sError, sSQL);

dataGridView1.DataSource = dt;

if (!string.IsNullOrEmpty(sError))
Common.DisplayMsg(this.Text, sError);

}

四,插入,修改,删除 数据(都调用SqlServerHelper.UpdateData方法)

// 插入

string sError = string.Empty;
int iMaxID = SqlServerHelper.GetMaxID(out sError, "id", "test") + 1;
string sSql = "insert into test select " + iMaxID + ",'name" + iMaxID + "','remark" + iMaxID + "'";
sError = string.Empty;
bool bResult = SqlServerHelper.UpdateData(out sError, sSql, true);
if (bResult)
Common.DisplayMsg(this.Text, "插入成功");
else
Common.DisplayMsg(this.Text, sError);

InitGrid();

// 修改

sError = string.Empty;
int iMaxID = SqlServerHelper.GetMaxID(out sError, "id", "test");
string sSql = "update test set name='name_jonse',remark='remark_jonse' where id=" + iMaxID;
sError = string.Empty;
bool bResult = SqlServerHelper.UpdateData(out sError, sSql, true);
if (bResult)
Common.DisplayMsg(this.Text, "修改成功");
else
Common.DisplayMsg(this.Text, sError);

InitGrid();

// 删除

sError = string.Empty;
int iMaxID = SqlServerHelper.GetMaxID(out sError, "id", "test");
string sSql = "delete from test where id=" + iMaxID;
sError = string.Empty;
bool bResult = SqlServerHelper.UpdateData(out sError, sSql);
if (bResult)
Common.DisplayMsg(this.Text, "删除成功");
else
Common.DisplayMsg(this.Text, sError);

InitGrid();

五,其它

public static void DisplayMsg(string sCaption, string sMsg)
{
sMsg = sMsg.TrimEnd('!').TrimEnd('!') + " !";
MessageBox.Show(sMsg, sCaption);
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值