
如果是根据数据获取,我想你可以这样
DataTable 中有DataColumnCollectoin属性,这是所有列的集合对象,可以遍历来获取列名。
------------------------------------------------------
也可以调用系统表来获得某一数据库的表信息
当然。net里也很方便,利用 IDataReader 接口的 GetSchemaTable 方法即可获得表的元数据,自己再整理一下就可以现实了。
关于:GetSchemaTable (受 NET Framework 精简版的支持。)
返回一个 DataTable,它描述 IDataReader 的列元数据。
具体代码可以参照:
string sql = "select from xxx";
DataTable schemaTable = null;
SqlCommand cmd = new SqlCommand( sql, conn );
cmdConnectionOpen();
SqlDataReader rdr = cmdExecuteReader(SystemDataCommandBehaviorSchemaOnly );
schemaTable = rdrGetSchemaTable();
// SystemDataCommandBehaviorSchemaOnly
只提取架构,不对数据做任何 *** 作
返回的这个数据架构元数据(DataTable)你可以尽情显示,呵呵
备注:
用于 OLE DB 的 NET Framework 数据提供程序的 GetSchemaTable 方法的实现,映射到 OLE DB IColumnsRowset::GetColumnsRowset 方法,而用于 SQL Server 的 NET Framework 数据提供程序的实现则不使用 OLE DB 提供程序层。GetSchemaTable 按以下顺序返回有关每列的元数据:
MSDN介绍地址:
ms-help://MSVSCC2003/MSMSDNQTR2003FEB2052/cpref/html/frlrfsystemdataidatareaderclassgetschematabletopichtm
需要这样搜索的话,你的表肯定没建好,一般程序不建议这么搜。
一定要这么搜的话只能一列列遍历每个单元格的值。
得先知道所有列名和顺序,然后双重循环,外循环遍历列,内循环遍历单元格。
当内循环遍历到当前单元格值含a后,输出当前外循环列名,然后可跳出或继续循环。
当数据多的话,这样肯定不行的。
建议你再优化一下建表。
这个方法写在程序里的,不是直接的sql查询语句
以上就是关于如何在c#中 获取sql某表列名 并显示在窗口界面上全部的内容,包括:如何在c#中 获取sql某表列名 并显示在窗口界面上、sql数据库在一个表里面,知道某个值"a",如何获取其所属列的列名、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)