我有一个批量复制代码:
private void SqlbulkCopy(DataTable dt)
{
if (dt.Rows.Count > 0)
{
string consString = ConfigurationManager.ConnectionStrings["Bulkcopy"].ConnectionString;
using (SqlConnection con = new SqlConnection(consString))
{
using (SqlBulkCopy sqlBulkCopy = new SqlBulkCopy(con))
{
sqlBulkCopy.DestinationTableName = "dbo.leads";
sqlBulkCopy.ColumnMappings.Add(dt.Columns[0].ToString(), "Name");
sqlBulkCopy.ColumnMappings.Add(dt.Columns[1].ToString(), "Type");
sqlBulkCopy.ColumnMappings.Add(dt.Columns[2].ToString(), "Emaily");
sqlBulkCopy.ColumnMappings.Add(dt.Columns[3].ToString(), "EmailSecondary");
sqlBulkCopy.ColumnMappings.Add(dt.Columns[4].ToString(), "Address");
con.Open();
sqlBulkCopy.WriteToServer(dt);
con.Close();
}
}
}
}
在调用此方法时,是否可以在每行中添加自己的数据? 例如:
sqlcommand1.Parameters.Add("@secret", SqlDbType.NVarChar).Value = txtsecret.Text.Trim();
如何添加此类插入代码? 此插入代码中的数据将添加到存储在数据库中的每一行。
试过:
foreach (DataRow row in dt.Rows)
{
sqlcommand1.Parameters.Add("@secret", SqlDbType.NVarChar).Value = txtsecret.Text.Trim();
sSql= "Insert into details(secret) ";
sSql+= " values(@secret)";
sSqlCmd.CommandText = sSql;
Conn.DBParaQuery(sSql, sqlcommand1);
}
我尝试了foreach循环,但是数据被保存到数据库中的空行而没有名称和只有秘密的东西
结果(在数据库中):
(secret) (name) (type) (email) (2ndemail)(address)
secreetans NULL Null NULL NULL NULL
NULL qwwer n 1@mail.com 2@mail.com hi
^^^
i nid this null to be secretans