使用反射来完成数据插入

来源:互联网 发布:mg宣传片 知乎 编辑:程序博客网 时间:2024/06/05 07:58
        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;                }            }        }

原创粉丝点击