如何在c#中获取sql某表列名 并显示在窗口界面上

如何在c#中获取sql某表列名 并显示在窗口界面上,第1张

如果是根据数据获取,我想你可以这样

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

不要用SELECT ,那样无法获取结果,应该分别列出要的字段,并且添加别名,例如:

Sql = "select aID,aNAME,pPID,pNAME AS PNAME from Product_Stock a inner join Product p on aPID=pID inner join Product_Color c on aCID=cID inner join Product_Size z on aZID=zID where aNum <> 0 and pShow = 1 and cShow = 1 and zShow = 1 order by pmlID,cSortID,zSortID"

上面的语句后,Rs("aID")是取不了值的,只能使用Rs("ID")取值,当有重复列名的时候,一定要使用别名,例如Rs("PNAME")。

以上就是关于如何在c#中 获取sql某表列名 并显示在窗口界面上全部的内容,包括:如何在c#中 获取sql某表列名 并显示在窗口界面上、SQL 多表查询 列名相同 如何读取、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/9501887.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-29
下一篇2023-04-29

发表评论

登录后才能评论

评论列表(0条)

    保存