zoukankan      html  css  js  c++  java
  • 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  = 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
  • 相关阅读:
    动态与静态Include
    java回收算法
    reflection是如何工作的。
    hashcode和equals的约定关系如下
    Java调试器
    混合赋值运算符的使用
    Spring
    Math.?
    oracle--触发器(转)
    oracle --游标详解(转)
  • 原文地址:https://www.cnblogs.com/zxiong/p/4106171.html
Copyright © 2011-2022 走看看