どのようにクラスの挿入を動的に設定しますか?List内のクラスの各列をどのようにループするのですか<class>それぞれをCで使用します。
どのように私はクラスの各列をforeachループで設定するのですか? リスト<のIEmployeeまたはCustomクラスの各列を、foreachループのstring []の値とペアにする方法はありますか?
私は、カスタムクラスをデータベースに動的にforeachループを使用して挿入しようとしています。 forループを使用せずに。
ループ以下 のために使用せずに、動的にカスタムクラスを挿入する方法があればコードです:私は何をしたいか
public class Employee : IEmployee
{
private string _fname;
public string Firstname
{
get { return _fname; }
set { _fname = value; }
}
private string _lname;
public string Lastname
{
get { return _lname; }
set { _lname = value; }
}
private int _age;
public int Age
{
get { return _age; }
set { _age = value; }
}
private Gender _sex;
public Gender Sex
{
get { return _sex; }
set { _sex = value; }
}
private string _position;
public string Position
{
get { return _position; }
set { _position = value; }
}
private DateTime _bday;
public DateTime BirthDay
{
get { return _bday; }
set { _bday = value; }
}
}
string[] empcoltest =
{
"userid",
"fname",
"mname",
"lname",
"gender",
"position",
"birthday"
};
public void function(List<IEmployee> EmpList)
{
string[] columns, values;
columns = empcoltest;
values = new string[columns.Length];
for (int a = 0; a < columns.Length; a++)
{
columns[a] = columns[a].Trim();
values[a] = "@col" + a.ToString();
}
string strEmp2 = @"INSERT INTO tblEmployees(" + string.Join(", ", columns) + ") VALUES(" + string.Join(", ", values) + ")";
using (SqlCommand cmd = new SqlCommand(strEmp2, sqlDB.SqlDB))
{
sqlDB.connect();
foreach (string t in values)
{
foreach (IEmployee Emp in)
{
cmd.Parameters.AddWithValue(t,Emp);
}
}
}
}
は試してみてください。この
foreach (string t in values)
{
foreach (IEmployee Emp in)
{
//how do i set the Emp dynamically
cmd.Parameters.AddWithValue(t,Emp);
}
}