所以感觉自己做一个更有底气

现所在公司做项目开发时,经常会自己创建model类,网上的生成器也很多,完全满足自己的不太现实,所以感觉自己做一个更有底气,主要针对过程中的一些语句进行整理,也供其他人学习参考。

连接字符串:

mysql:  

    string conn = string.Format(“Server={0};database={1};Persist
Security Info=True;User ID={2};Password={3}”, address, dbname, user,
pwd);    //也可以通过public static string str=””直接确定连接的数据库

sql server:

    string conn = string.Format(“Server={0};Database={1};integrated
security=true;Trusted_Connection=SSPI;uid={2};pwd={3}”, address,
dbname, user, pwd);   //也可以通过public static string
str=””直接确定连接的数据库

 

mysql:

    sql = “SHOW DATABASES”;      //获取所有数据库(语句1)

    sql=”SELECT SCHEMA_NAME FROM information_schema.SCHEMATA”;    
     //获取所有数据库(语句2)

    

    sql = “SELECT * FROM information_schema.TABLES WHERE
table_schema='” + 数据库名(变量)+ “‘”;    //获取数据库的表集合

 

    sql = “SELECT * FROM information_schema.columns WHERE
TABLE_所以感觉自己做一个更有底气。NAME='” + 表名(变量)+ “‘ AND TABLE_所以感觉自己做一个更有底气。SCHEMA='” +
数据库名(变量)+ “‘”;    
 //获取数据库下表的所有字段集合、注释及字段类型

sql server:

    sql = “SELECT * FROM sys.databases where database_id >4”;  
 //这大于4为了排除系统数据库,我这为了仅获取自己创建的数据库

    sql = “SELECT *所以感觉自己做一个更有底气。 FROM sysobjects WHERE type=’U'”;  
 //获取数据库对应的表。这里要注意下,因为获取表要连接到具体的数据库,所以这个只是作为一个变量传递 ,传到执行函数中ExecuteQuery_SQLserver(sql,
address, dbname, user, pwd);就可以了

 

    sql = “select a.name,b.name as typename,g.value from syscolumns
a left join systypes b on a.xusertype=b.xusertype “;

    sql += “inner join sysobjects d on a.id=d.id and d.xtype=’U’ and
d.name<>’dtproperties’ “;
    sql += “left join syscomments e on a.cdefault=e.id “;
    sql += “left join sys.extended_properties g on a.id=g.major_id
and a.colid=g.minor_id “;
    sql += “left join sys.extended_properties f on d.id=f.major_id
and f.minor_id=0 where d.name='” + 表名称(变量)+ “‘”;

*  //上面这个是获取表字段、注释及类型(这个比较麻烦点,可以分开在数据库里面执行,看查出来的是什么表,就懂了)
*

 

 

  以上基本上就是类生成器对数据库的一些语句操作,期待纠正。可以留言探讨。谢谢!

 

You may also like...

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图