首页 > 代码库 > C#反射生成简单sql语句

C#反射生成简单sql语句

 static void Main(string[] args)        {            book book = new book();//实体类            booktest b1 = new booktest();                       book.bookid = "1";            book.bookname = "计算机原理";            book.bookprice = 32.04M;            string sql = CreateInsertSQL(book);        }        public static string CreateInsertSQL(book book)        {            Type type = book.GetType();                        PropertyInfo[] props = type.GetProperties();            StringBuilder sb = new StringBuilder();            sb.Append("insert into "+ type.Name+"(");            foreach( PropertyInfo prop in props)            {                string name = prop.PropertyType.FullName;               string value  = http://www.mamicode.com/prop.GetValue(book,null) as string;                object[] array = prop.GetCustomAttributes(typeof(KEYAttribute),true);//获取属性,判断在sql语句中必须的,比如主键                if (array.Length > 0)                {                    continue;                }                sb.Append(prop.Name + ",");            }            sb.Remove(sb.Length - 1, 1);            sb.Append(") values(");            foreach (PropertyInfo prop in props)            {                object[] array = prop.GetCustomAttributes(typeof(KEYAttribute), true);                if (array.Length > 0)                {                    continue;                }                sb.Append("@" + prop.Name + ",");            }                    sb.Remove(sb.Length-1,1);            sb.Append(")");            return sb.ToString();        }
View Code

 

C#反射生成简单sql语句