C# 操作 SQL Server 数据库运用
|
admin
2025年8月11日 15:2
本文热度 1118
|
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 编辑过