net对mssql的操作(备份,还原,获取表数据,获取表字段信息)(二)

2015-01-21 13:43:19 · 作者: · 浏览: 9
rSql = new StringBuilder(); strSql.Append("select Name as TABLE_NAME from sysobjects where xtype='u' and status >=0 and Name !='sysdiagrams' "); return DataFactory.SqlDataBase().GetDataTableBySQL(strSql); } /// /// 获取某一个表的所有字段 /// /// 表名 /// public DataTable GetSyscolumns(string object_id) { DataTable dt = new DataTable(); StringBuilder strSql = new StringBuilder(); if (!string.IsNullOrEmpty(object_id) && object_id != "未选择") { strSql.Append(@"SELECT [列名]=a.name, [数据类型]=b.name, [长度]=COLUMNPROPERTY(a.id,a.name,'PRECISION'), [是否为空]=case when a.isnullable=1 then '√'else '' end, [默认值]=isnull(e.text,''), [说明]=isnull(g.[value],'未填说明') FROM syscolumns a left join systypes b on a.xusertype=b.xusertype inner join sysobjects d on a.id=d.id and d.xtype='U' and d.name<>
'dtproperties' left join syscomments e on a.cdefault=e.id left join sys.extended_properties g on a.id=g.major_id and a.colid=g.minor_id left join sys.extended_properties f on d.id=f.major_id and f.minor_id=0"); strSql.Append("where d.name='" + object_id + "' order by a.id,a.colorder"); return DataFactory.SqlDataBase().GetDataTableBySQL(strSql); } return dt; } #endregion