SqlParameter 类
表示 SqlCommand 的参数,也可以是它到 DataSet 列的映射。无法继承此类。
命名空间: System.Data.SqlClient
程序集: System.Data(在 System.Data.dll 中)
Sql Server数据库
Sql参数化添加多条数据,废话不多说,上码
using System;
using System.Collections.Generic;
using System.Data.SqlClient;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ConsoleApp2
{
internal class Program
{
public static string _StrSql = "server=.;database=StuDB;uid=;pwd=";
static void Main(string[] args)
{
StringBuilder sb = new StringBuilder();//sql的存储容器
var sqlParameter = new List<SqlParameter>();//为sql参数赋值
for (int i = 0; i < 5; i++)
{
//参数需要唯一,故拼接上一个i
string sql =string.Format($"insert into StuTB values(@Name{i},@Age{i});");
sb.Append(sql);
sqlParameter.Add(new SqlParameter("@Name" +i,"添加的数据"));
sqlParameter.Add(new SqlParameter("@Age"+i, "123"));
}
ExecuteNonQuery(sb.ToString(),sqlParameter);//将拼接的sql一次性执行
}
/// <summary>
/// 执行Sql
/// </summary>
/// <param name="sql">sql</param>
/// <param name="sqlParameter">list<SqlParameter></param>
public static void ExecuteNonQuery(string sql,List<SqlParameter> sqlParameter)
{
using (SqlConnection con=new SqlConnection(_StrSql))
{
con.Open();
SqlCommand cmd = con.CreateCommand();
cmd.CommandText = sql;
cmd.Parameters.AddRange(sqlParameter.ToArray());
cmd.ExecuteNonQuery();
cmd.Clone();
}
}
}
}
cmd.Parameters.Add():添加一个参数。增加多个参数时,需要使用一个Foreach循环;
cmd.Parameters.AddRange():添加一个参数的数组;