尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

通过DataReader获取sql查询的字段元数据信息

通过DataReader获取sql查询的字段元数据信息
📅 发布时间:2026/6/18 19:17:16

原理

应用程序调用 GetSchemaTable()↓
ADO.NET 驱动程序生成元数据查询SQL↓
发送到数据库服务器执行↓
数据库返回结果集架构信息(不包含实际数据)↓
ADO.NET 解析架构信息并构建 DataTable↓
返回包含完整列信息的 DataTable

sqlsugar

            var sql = $@"select * from sys_database d
left join sys_table t
on d.""id"" = t.database_id";//var behavior80c9dce3fe3b43b8847e55614ab45b56 = CommandBehavior.SequentialAccess |  CommandBehavior.CloseConnection;var behavior80c9dce3fe3b43b8847e55614ab45b56 = CommandBehavior.SchemaOnly;res = new List<object>();var result = await sqlSugar.Ado.GetCommand(sql, paraList.ToArray()).ExecuteReaderAsync(CommandBehavior.SchemaOnly);var schema = result.GetSchemaTable();foreach (DataRow row in schema.Rows){string columnName = row["ColumnName"].ToString();Type dataType = (Type)row["DataType"];int columnSize = (int)row["ColumnSize"];//bool isNullable = (bool)row["AllowDBNull"];var isNullable = row["AllowDBNull"];// 还有其他信息,如精度、小数位数等Console.WriteLine($"列名: {columnName}, 类型: {dataType}, 大小: {columnSize}, 可空: {isNullable}");}

ado

using (SqlCommand command = new SqlCommand("SELECT TOP 0 * FROM employees", connection))
{using (SqlDataReader reader = command.ExecuteReader()){// 获取数据表的Schemavar schemaTable = reader.GetSchemaTable();// 遍历每一列的Schema信息foreach (DataRow row in schemaTable.Rows){string columnName = (string)row["ColumnName"];Type dataType = (Type)row["DataType"];int maxLength = (int)row["ColumnSize"];bool allowNull = (bool)row["AllowDBNull"];// 输出列的信息Console.WriteLine("列名:{columnName}");Console.WriteLine("数据类型:{dataType}");Console.WriteLine("最大长度:{maxLength}");Console.WriteLine("是否允许为空:{allowNull}");Console.WriteLine("---------------------------------------");}}
}
留待后查,同时方便他人
联系我:renhanlinbsl@163.com

相关新闻

  • The 5W2H Problem-Solving Method
  • 重组生长因子全面解析:从结构功能到科研应用指南
  • STM32系统时钟与SysTick定时器

最新新闻

  • 实测盘点|佛山黄金回收门店五大排行榜,靠谱变现门店闭眼选 - 名奢变现站
  • Steamless:终极SteamStub DRM移除工具完全指南
  • 鸣潮自动化工具如何帮你每天节省2小时游戏时间?开源方案深度解析
  • 北京朝阳区黄金回收头名商家!合扬区域第一,同城评比勇夺头名 - 奢侈品交易观察员
  • 序列检测器(Verilog):从状态机到移位寄存器的工程实践
  • 上海各区黄金回收怎么卖才划算?本地人实测变现全流程攻略 - 逸程

日新闻

  • 5分钟掌握Python进化算法:Geatpy高性能优化工具完全指南
  • Microchip 24AA044 EEPROM选型与应用全指南:从参数解析到实战编程
  • 华为的鸿蒙到底有多牛?为什么称作遥遥领先?

周新闻

  • 3步解锁iOS设备:applera1n激活锁绕过完全指南
  • 39 2026 人工智能证书终极盘点,普通人选 AI 证书可以从这些方向入手
  • Redis 暴露公网有多危险?从端口检查到补救步骤

月新闻

  • 【总结】入门篇:50句话让你记住架构核心概念
  • WeChatMsg技术方案解析:实现Mac微信数据自主管理的完整解决方案
  • WeChatMsg:革新性微信数据备份方案,打造你的专属数字记忆库

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号