<转载>SQL Server 数据库 执行命令(方法 2:带参数的 SQL 命令)

此方法用于对 SQL Server 数据库执行插入、更新、删除操作,用户只需输入连接字符串、要执行的SQL命令、SQL 命的参数,即可执行此命令。此方法要求添加 System.Data.SqlClient 的引用。

 

具体使用方法请参见示例代码。

/// <summary>
///  SQL Server 插入、更新、删除表数据(方法二:带参数的 SQL 命令)
/// </summary>
/// <param name="connectionString">SQL Server 数据库连接字符串</param>
/// <param name="commandText">SQL 命令</param>
/// <param name="parameters">参数类型的 SqlParameter 数组</param>
public void Execute(string connectionString, string commandText, params SqlParameter[] parameters)
{
    // 创建连接对象,并限在 using 语句块内有效
    using (SqlConnection conn = new SqlConnection(connectionString))
    {
        // 创建命令对象,在构构造方法中传入SQL 命令和连接对象
        SqlCommand cmd = new SqlCommand(commandText, conn);
        // 把参数类型的 parameters 加到 cmd 对象的参数集合中
        if (parameters.Length > 0)
        {
            cmd.Parameters.AddRange(parameters);
        }
        conn.Open();
        cmd.ExecuteNonQuery();
        conn.Close();
    }
}


// SQL Server 数据库常用操作

// 直接设定连接字符串
string sConnectionString = @"Data Source=myServerAddress;Initial Catalog=myDataBase;User Id=myUsername;Password=myPassword;";
// 如在一个项目中多次用到数据库操作,强烈建议从 App.config(Windows 应用程序) 或 Web.config(Web 应用程序)中读取连接字符串,如下:
// <configuration>
//     <connectionStrings>
//         <add name="db" connectionString="Data Source=myServerAddress;Initial Catalog=myDataBase;User Id=myUsername;Password=myPassword;" providerName="System.Data.SqlClient"/>
//     </connectionStrings>
// </configuration>
// string sConnectionString = ConfigurationManager.ConnectionStrings["db"].ConnectionString;

// 插入操作
Execute(sConnectionString, 
	"INSERT INTO Students (Id, Name, Phone) VALUES (@Id, @Name, @Phone)",
	new SqlParameter("@Id", 1),
    new SqlParameter("@Name", "张三"),
    new SqlParameter("@Phone", "13812345678"));

// 更新操作
Execute(sConnectionString, 
	"UPDATE Students SET Name = @Name, Phone = @Phone WHERE Id = @Id",
	new SqlParameter("@Id", 1),
    new SqlParameter("@Name", "张三"),
    new SqlParameter("@Phone", "13812345678"));

// 删除操作
Execute(sConnectionString, 
	"DELETE FROM Students WHERE Id = @Id",
	new SqlParameter("@Id", 1));

  

原文地址:https://www.cnblogs.com/ChangTan/p/2304201.html