求一个数据库插入方法InsertData
/// <typeparam name="T">表名</typeparam>
/// <typeparam name="TS">表结构(以枚举定义表中字段)</typeparam>
/// <typeparam name="I">具体字段内容(实体类)</typeparam>
public bool InsertData<T, TS, I>(T a, TS b, I c)
{
//这里不知道怎么获取TS枚举类型(已经知道字符串类型枚举名)
//循环枚举TS里面的内容,对应实体I中的值,插入表T中
return true;
}
///所有表名放在DeviceTableName中
public enum DeviceTableName
{
T_Device_UserManage = 1,//用户表
T_Device_Deparment = 2,//部门表
T_Device_Usertype = 3,//用户类型表
}
///每个表对应字段存放在对应枚举中
public enum T_Device_UserManage
{
F_UserId = 0,
F_UserName = 1,
F_UserPwd = 2,
F_UserDeparment = 3,
F_UserType = 4,
F_IsUsed = 5,
}
public enum T_Device_Deparment
{
F_Deparment_ID = 0,
F_Deparment_Name = 1,
F_Deparment_Manage = 2,
F_Deparment_Leader = 3,
F_Deparment_Creater = 4,
F_Deparment_CreaterDate = 5,
F_IsUsed = 6,
}
public enum T_Device_Usertype
{
F_TypeId = 0,
F_TypeName = 1,
F_TypeNameEn = 2,
F_TypeManage = 3,
F_IsUsed = 4,
}
//具体实体对象,用于赋值
public class UserRegister
{
private int _userID = 0;
private string _userName = "";
private string _userPwd = "";
private string _userDeparment = "";
private string _userType = "";
……
}
///插入表时,直接传入表名、表结构、插入内容
private void btn_Register_Click(object sender, EventArgs e)
{
UserRegister userRegister = new UserRegister();
userRegister.UserID = Convert.ToInt32(txt_UserID.Text);
userRegister.UserName = txt_UserName.Text;
userRegister.UserPwd = txt_UserPwd.Text;
userRegister.UserDeparment = cbx_UserDeparment.Text;
userRegister.UserType = cbx_UserType.Text;
T_Device_UserManage t_device_userManage = new T_Device_UserManage();
bool bl = InsertData(DeviceTableName.T_Device_UserManage, t_device_userManage, userRegister);
}