ruder

  博客园 :: 首页 :: 新随笔 :: 联系 :: 订阅 :: 管理 ::
public static void StoreS(T obj)
        {
            try
            {
                Store(obj);
            }
            catch
            {
                MakeSureExistTableAndColumns();
                Store(obj);
            }            

        }

public static void Store(T obj)
        {
            using (SqlConnection conn = SqlHelper.GetSqlConnection())
            {
                SqlTransaction trans = conn.BeginTransaction();
                try
                {
                    //先删除
                    Delete(obj, trans);
                    //定义SQL变量
                    List<SqlParameter> parms = new List<SqlParameter>();
                    //开始组建组              
                    foreach (PropertyInfo info in Attributes)
                    {
                         //组建SQL变量
                         SqlParameter sqlParm = new SqlParameter("@" + info.Name, GetDbType(info));
                         sqlParm.Value = GetValueByType(info, obj);// info.GetValue(obj, null);
                         parms.Add(sqlParm);
                    }
                    SqlHelper.ExecuteNonQuery(trans, CommandType.Text, SQL_INSERT, parms.ToArray());
                    trans.Commit();
                }
                catch (Exception ex)
                {
                    trans.Rollback();
                    throw ex;
                }
            }
        }

posted on 2009-04-29 17:47  徐境  阅读(97)  评论(0)    收藏  举报