如何動態設置類的插入?如何循環使用列表中的每個列中的每個列<class>在c#中的每個列表使用
我該如何獲得每個在foreach循環中設置的類的列? 如何設置列表<>中的IEmployee或Custom類的每一列與foreach循環中的字符串[]值配對?
我想使用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);
}
}