SQL查询字段名
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SQL查询字段名相关的知识,希望对你有一定的参考价值。
主要是查询某个表中的字段名称
SQL数据库或ACCESS数据库,(好像都是一样的)
如:表1 分别字段为 A B C
在不知道字段的情况下得到字段名
或者VB中的ADODC也行 我没有找到ADODC的参数
SELECT
a.column_id AS No,
a.name AS 列名,
isnull(g.[value],'-') AS 说明
FROM
sys.columns a left join sys.extended_properties g
on (a.object_id = g.major_id AND g.minor_id = a.column_id)
WHERE
object_id =
(SELECT object_id FROM sys.tables WHERE name = 'test_table')
No 列名 说明
1 Test_ID 主键(自增长)
2 Test_Key 种类
3 Test_Value 数值
4 Test_Type 内部类型
5 Test_BelongTo 从属关系
6 Test_Grade 等级
7 Test_Remark 备注
8 Test_Visible 是否可见
参考资料:http://hi.baidu.com/wangzhiqing999/blog/item/e8296bf6d1e35300b17ec511.html
参考技术B php是mysql_query("show table_name",$con);table_name是表名,$con是数据库链接对象。 参考技术C select d.name as table_name, a.name as column_name from syscolumns a inner join sysobjects d on a.id = d.id and d.xtype = 'U'
where a.name = '表名'本回答被提问者采纳 参考技术D desc 表名
hibernate sql 语句 查询所有 字段名
/*Statement statement = null;
Connection disconnect = null;
ResultSet resultSet = null;
try
disconnect = getSession().disconnect();
statement = disconnect.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY);
resultSet = statement.executeQuery(sql);
ResultSetMetaData metaData = resultSet.getMetaData();
for (int i = 0; i < metaData.getColumnCount(); i++)
System.out.println("获取到的数据ziduan字段名:" + metaData.getColumnName(i));
catch (SQLException e)
e.printStackTrace();
finally
if (statement != null)
try
if (resultSet != null)
resultSet.close();
statement.close();
disconnect.close();
catch (SQLException e)
e.printStackTrace();
*/
// String[] namedParameters = getSession().createSQLQuery(sql).getNamedParameters();
// System.out.println("namedParameters = " + Arrays.toString(namedParameters));
以上代码应该可行,但是我用的时候包异常,好像是连接的问题,有知道原因的大神请指点一下.
String sql = "SELECT * FROM " + tableName;/* + " WHERE Recid=" + queryParameters*/
List<Map<String, Object>> list = getSession().createSQLQuery(sql).setResultTransformer(Transformers.ALIAS_TO_ENTITY_MAP).list();
System.out.println("获取到的数据list:" +list);
这三行代码可以输出list集合,key是字段名称,value是值 <正好是我想要的>
/*String sql = "SELECT * FROM " + tableName;
List list = getSession().createSQLQuery(sql).list();
for (int i = 0; i < list.size(); i++)
//这里要用Object[]接收查出来的list中每一条数据
Object[] obj = (Object[]) list.get(i);
System.out.println("获取到的数据:13" + Arrays.toString(obj));
*/
如果只是查询数据的话,以上几行代码即可.
以上是关于SQL查询字段名的主要内容,如果未能解决你的问题,请参考以下文章