您可以尝试以下方法 - 创建一个类,当您从阅读器获取数据时将使用该类。
public class Foo
{
public string Email { get; set; }
public string Badge { get; set; }
public string Name { get; set; }
}
那么我们先从我们的第一个db中获取数据如下:
public List<Foo> GetData()
{
List<Foo> dataList = new List<Foo>();
string connectionString = "Connection String A";
string selectStatement = "SELECT Email, Badge, Name FROM PublishedWorks";
using (var con = new SqlConnection(connectionString))
{
using (var cmd = new SqlCommand(selectStatement, con))
{
con.Open();
using (var reader = cmd.ExecuteReader())
{
dataList.Add(new Foo
{
Email = reader.GetString(0),
Badge = reader.GetString(1),
Name = reader.GetString(2)
});
}
}
}
return dataList;
}
现在我们有了数据,我们可以将其插入另一个数据库:
public void InsertData()
{
string connectionString = "Connection String B";
string insertStatment = "INSERT INTO SOMETABLE (Email, Badge, Name) VALUES (@Email, @Badge, @Name)";
List<Foo> dataList = GetData();
if(dataList.Count > 0)
{
using (var con = new SqlConnection(connectionString))
{
using (var cmd = new SqlCommand(insertStatment, con))
{
con.Open();
foreach (var items in dataList)
{
cmd.Parameters.Add("@Email", SqlDbType.NVarChar).Value = items.Email;
cmd.Parameters.Add("@Badge", SqlDbType.NVarChar).Value = items.Badge;
cmd.Parameters.Add("@Name", SqlDbType.NVarChar).Value = items.Name;
}
cmd.ExecuteNonQuery();
}
}
}
}