次のように試すことができます。 - リーダーからデータを取得するときに使用するクラスを作成します。
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();
}
}
}
}
本当にありがとうございました。それは私を大いに助けました。しかし、してください、私はFooクラスを作成する必要がありますか?私はSQLからデータを取得していますか? – Tuta
あなたは大歓迎です! 'Foo'というクラスを作成する必要はありません。それはビルドできる例です。'SqlReader'を使ってデータを読み込むときには、データをどこかに戻って格納する必要がありますので、' List 'を使用しましたが、' DataTable'に簡単に格納して読み戻すことができます必要に応じて別のデータベースに挿入します。 –
Izzy
あなたは私にdatatableの例を教えてください...あなたの助けに感謝しますか? – Tuta