• 从DB中返回table schema的说明


    当数据库返回datareader对象或DataTable对象时,可以通过对应的GetSchema方法或DataColumn取得对应的表的字段定义,包括columnName和dataType.

    但这个方法默认情况下是没法取得varchar或char的length,始终返回是-1. 需要显示的在DataAdapter.Fill(DataSet)之前显示的声明一句:

    DataAdapter.MissingSchemaAction = MissingSchemaAction.AddWithKey;

    对于绝大多数标准的表而言,利用上面的语句,在返回数据的时候即可得到完整的DataColumn的定义. 但如果有些表的数据不规范,如not null字段中恰好为有null值,则添加了上面的语句再FILL则报错.

    因此,最通用的方法是使用da.FillSchema()方法取得单独的字段定义,返回一个DataSet.当然此种方法有个不利之处就是返回数据和返回schema是两个查询, 性能上会有些问题. 完整的GetSchema的示例代码如下:

    GetSchema.cs
  • 相关阅读:
    The specified framework 'Microsoft.NETCore.App', version '1.0.1' was not found 解决办法
    docker registry push错误“server gave HTTP response to HTTPS client”
    windows server 2016安装docker
    Opserver 初探三《服务器数据监控》
    Opserver 初探二《exceptions配置》
    Opserver 初探一《Opserver的搭建》
    centos 7 免密登录
    nginx 入门配置
    php适配器模式
    进程和线程
  • 原文地址:https://www.cnblogs.com/margiex/p/1364614.html
Copyright © 2020-2023  润新知