zoukankan      html  css  js  c++  java
  • 从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
  • 相关阅读:
    java面试准备之基础排序——冒泡与选择排序
    PL/SQL 存储过程
    浅析Java中CountDownLatch用法
    tmux分屏幕
    two's complement
    angularJs中$controller的使用
    nodejs pipe实现大文件拷贝
    不错的网站
    echarts文档对照
    nodejs 项目的session验证
  • 原文地址:https://www.cnblogs.com/margiex/p/1364614.html
Copyright © 2011-2022 走看看