C# 操作 SQL Server 数据库运用
|
admin
2025年8月11日 15:2
本文热度 64
|
SQL Server是微软开发的关系型数据库管理系统(RDBMS),是企业级应用的主流数据库解决方案之一,具有强大的数据处理能力和丰富的功能集。
SQL Server核心特点:
企业级性能:支持TB级数据库,高性能事务处理
高可用性:提供Always On可用性组、故障转移集群等方案
全面安全:行级安全、动态数据掩码、透明数据加密
商业智能:集成SSIS、SSAS、SSRS等BI工具
云集成:完美支持Azure云服务
多平台支持:支持Windows、Linux和容器部署
SQL Server版本分类:
下面为SQLServer法:连接、增、删、改、查实例:
1、数据库调用函数如下:
using System.Data.SqlClient;
string DbConnectionString = "data source=IP地址;initial catalog=数据库名称;user id=用户名;password=密码;packet size=4096;pooling=true;min pool size=5;max pool size=512;persist security info=False";
bool RetState = GetConnnectState();
DataTable dt = GetDataTable(SelectSqlStr);
string SqlStr = "添加、更新、删除SQL命令";
int RetNum = ExecuteSqlTran(SqlStr);
2、获取数据库连接状态:
public bool GetConnnectState()
{
bool RetState = false;
try
{
if (DbConnectionString == "") return false;
using (SqlConnection connection = new SqlConnection(DbConnectionString))
{
if (connection.State != ConnectionState.Open)
{
connection.Open();
}
if (connection.State == ConnectionState.Open)
{
RetState = true;
}
}
}
catch (Exception)
{
RetState = false;
}
return RetState;
}
3、查询语句,返回DataTable:
public DataTable GetDataTable(string sql, string szTableName = "DataTable")
{
DataSet ds = new DataSet();
try
{
using (SqlConnection connection = new SqlConnection(DbConnectionString))
{
connection.Open();
using (SqlCommand command = new SqlCommand(sql, connection))
{
using (SqlDataAdapter adapter = new SqlDataAdapter(command))
{
try
{
adapter.Fill(ds, szTableName);
adapter.Dispose();
command.Dispose();
connection.Dispose();
}
catch (Exception)
{
adapter.Dispose();
command.Dispose();
connection.Dispose();
}
}
}
}
}
catch (Exception ex)
{
return null;
}
if (ds == null) return null;
return ds.Tables[0];
}
public int ExecuteSqlTran(string SQLString)
{
int rows = 0;
using (SqlConnectionconn = new SqlConnection(DbConnectionString))
{
if (conn.State != ConnectionState.Open) conn.Open();
using (SqlTransaction transaction = conn.BeginTransaction())
{
using (SqlCommandcmd = conn.CreateCommand())
{
try
{
cmd.Transaction = transaction;
cmd.CommandText = SQLString;
cmd.CommandTimeout = 5 * 1000 * 60;
rows = cmd.ExecuteNonQuery();
transaction.Commit();
cmd.Dispose();
conn.Dispose();
}
catch (Exception ex)
{
transaction.Rollback();
cmd.Dispose();
conn.Dispose();
}
}
}
}
return rows;
}
该文章在 2025/8/11 15:02:35 编辑过