0
我有一个批量复制代码:添加自定义数据bulkcopy
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循环,但得到的数据保存到NULL无名字之类的东西在数据库中的行只与secretans
结果(数据库):
(secret) (name) (type) (email) (2ndemail)(address)
secreetans NULL Null NULL NULL NULL
NULL qwwer n [email protected] [email protected] hi
^^^
i nid this null to be secretans
在运行sqlbulkcopy之前,您必须加入“秘密”数据。 –
@MaciejLos你可以用 – JustASimpleGuy
以上的代码做一个例子请分享你当前和期望的结果。从 – Sam