Ich habe einen Bulk-Copy-Code:Hinzufügen von benutzerdefinierten Daten 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();
}
}
}
}
Ist es möglich, in meinem eigenen Daten in jeder Zeile hinzufügen, während diese Methode aufgerufen wird? Beispiel:
sqlcommand1.Parameters.Add("@secret", SqlDbType.NVarChar).Value = txtsecret.Text.Trim();
Wie füge ich diese Art von Insert Code in? Und die Daten aus diesem Einfügecode werden zu jeder Zeile hinzugefügt, die in der Datenbank gespeichert wird.
Versuchte:
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);
}
Ich habe versucht, die foreach-Schleife, aber die Daten gespeichert wird mit den secretans
Ergebnisse (in der Datenbank) nur Zeilen in der Datenbank, ohne den Namen und die Sachen auf null:
(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
Sie müssen "geheime" Daten verbinden, bevor Sie sqlbulkcopy ausführen. –
@MaciejLos können Sie ein Beispiel mit dem Code über – JustASimpleGuy
tun Bitte teilen Sie Ihre aktuellen und gewünschten Ergebnis. Es ist nicht klar aus der Frage – Sam