您的位置:首页 > 数据库

使用反射来完成数据插入

2017-09-13 11:33 218 查看
private void Execute<T>(T model,string sql, List<EleQuantity> list, bool fos)
{
Type t = model.GetType();
PropertyInfo[] PropertyList = t.GetProperties();
using (MySqlTransaction tar = myCon.BeginTransaction())
{
try
{
MySqlCommand cmd = myCon.CreateCommand();
cmd.Transaction = tar;
cmd.CommandText = sql;
foreach (var item in list)
{

foreach (var prlist in PropertyList)
{
string name = prlist.Name;                  //这里只是为了调试查看属性值
object value = prlist.GetValue(item, null);
cmd.Parameters.AddRange(new[]
{

new MySqlParameter(name, value)
});
}
cmd.ExecuteNonQuery();
cmd.Parameters.Clear();
}
tar.Commit();
if (fos)
{
myCon.Close();
}
}
catch (Exception)
{
tar.Rollback();
myCon.Close();
throw;
}
}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  反射 数据库
相关文章推荐