摘自于网络:http://blog.csdn.net/bupt_zoucq/article/details/6653385

FillSchema是用来向DataTable中填入详细的元数据信息的,例如(column names, primary key, constraints等),但不填入数据。
Fill主要是用来填入数据的,它在缺省情况下只填入少量必要的元数据信息,例如(column names, data types)。
所以,一般先用FillSchema来填入详细的元数据信息,再用Fill来填充数据,例如:

sqlDataAdapter1.FillSchema(dataSet1,SchemaType.Source,"authors");
sqlDataAdapter1.Fill(dataSet1,"authors");

DataColumn[] colArr;
colArr = dataSet1.Tables["authors"].PrimaryKey;
MessageBox.Show("Column Count: " + colArr.Length.ToString());
for(int i = 0; i < colArr.Length; i++)
{
MessageBox.Show(colArr[i].ColumnName + "   " + colArr[i].DataType.ToString());
}

在上例中,如果不调用FillSchema, 缺省情况下不会填如PrimaryKey信息。

SqlDataAdapter adapter = new SqlDataAdapter("SELECT * 
FROM [FinanceStock].[dbo].[Table_StockBasicInfo]", initConnection());
            adapter.TableMappings.Add("Table", "Table_StockBasicInfo");
            DataSet dataSet = new DataSet("noConstraints");
            dataSet.Tables.Add(new DataTable("Table_StockBasicInfo"));
            dataSet.EnforceConstraints = false;
            dataSet.Tables[0].BeginLoadData();
            adapter.MissingSchemaAction = MissingSchemaAction.Error;
            adapter.FillSchema(dataSet, SchemaType.Source, "Table_StockBasicInfo");
            adapter.Fill(dataSet);
            dataSet.Tables[0].EndLoadData();

sqlDataAdapter的FillSchema用法的更多相关文章

  1. C# ~ 数据库连接

    C#连接数据库(SQL Server)进行数据的读取和写入,学习之. 1. 数据库连接 服务器:“Data Source=服务器IP; Initial Catalog=数据库; User ID=用户名 ...

  2. SqlDataAdapter用法

    SqlDataAdapter和SqlCommand区别: SqlCommand就是是命令了,可以用它来执行SQL命令: SqlDataAdapter就是数据适配器了,它是用于在数据源和数据集之间通讯的 ...

  3. MSSQL - SqlDataAdapter连接数据库提高性能用法

    SqlDataAdapter 与 SqlConnection 和 SqlCommand 一起使用,以便在连接到 SQL Server 数据库时提高性能. SqlDataAdapter 的这一实现自动打 ...

  4. SqlDataAdapter 用法详解

    SqlCommand是sql命令,执行后通过sqlDataAdapter返回填入DataSet SqlDataAdapter   有不同的构造函数, SqlDataAdapter(SqlCommand ...

  5. C#里sqlDataAdapter.fill(DataSet,String)的用法

    第二个参数 String是指定DataSet 里表的名字,例如 sqlDataAdapter.fill(DataSet,"学生表") 指定后,以后就可以这样调用这张表 DataSe ...

  6. DataSet用法详细 转

    DataSet用法详细 转 DataSet用法详细 一.特点介绍 1.处理脱机数据,在多层应用程序中很有用. 2.可以在任何时候查看DataSet中任意行的内容,允许修改查询结果的方法. 3.处理分级 ...

  7. GridView的详细用法

    l GridView无代码分页排序 l GridView选中,编辑,取消,删除 l GridView正反双向排序 l GridView和下拉菜单DropDownList结合 l GridView和Ch ...

  8. sp.net2.0中的新增控件BulletedList的一些高级用法

    asp.net2.0新增了一个BulletedList控件,通过它可以以列表形式显示数据,而不必再用Repeater,Datalist等实现相同的效果.今天做程序的时候正好用到了这个控件,就把它的一些 ...

  9. DataSet用法详细

    转自:http://www.cnblogs.com/zeroone/archive/2012/06/08/2541299.html DataSet用法详细 一.特点介绍 1.处理脱机数据,在多层应用程 ...

随机推荐

  1. Number-guessing Game

    Number-guessing Game Time Limit : 2000/1000ms (Java/Other)   Memory Limit : 131072/65536K (Java/Othe ...

  2. Mac下截图快捷键

    Cmd+Shift+3:全屏截图:截取整个屏幕,保存截图至桌面文件夹.Cmd+Shift+4:区域截图:鼠标光标变成带坐标的小十字,通过拖拽截取特定区域,保存截图至桌面文件夹.Cmd+Shift+4 ...

  3. PHP正则表达式试题

    1.POSIX正则表达式扩展在PHP哪个版本被废弃了 2.请写出匹配任意数字,任意空白字符,任意单词字符的符号? 3.执行一个正则表达式匹配的函数是什么?返回的结果有哪些? 4.执行一个全局正则表达式 ...

  4. Inno Setup入门(十七)——Inno Setup类参考(3)

    分类: Install Setup 2013-02-02 11:28 433人阅读 评论(0) 收藏 举报 标签 标签(Label)是用来显示文本的主要组件之一,也是窗口应用程序中最常用的组件之一,通 ...

  5. CASE WHEN的两种格式

    CASE WHEN的两种格式 1.简单Case函数 CASE sex WHEN '1' THEN '男' WHEN '2' THEN '女' ELSE '其他' END 2.Case搜索函数 CASE ...

  6. 转 Apache Ant 实现自动化部署

    Apache Ant 实现自动化部署 Apache Ant 实现自动化部署 http://www.netkiller.cn/journal/java.ant.html Mr. Neo Chen (陈景 ...

  7. Android OpenGL ES(七)基本几何图形定义 .

    在前面Android OpenGL ES(六):创建实例应用OpenGLDemos程序框架 我们创建了示例程序的基本框架,并提供了一个“Hello World”示例,将屏幕显示为红色. 本例介绍Ope ...

  8. 添加一个Application Framework Service

    如何添加一个Application Framework Service(without native code)? 1.本文参照AlarmManagerService实现一个简单的Applicatio ...

  9. java 文件字节输入流

    Example10_4.java import java.io.*; public class Example10_4 { public static void main(String args[]) ...

  10. 2016中国大学生程序设计竞赛 - 网络选拔赛 1011 Lweb and String

    Problem Description Lweb has a string S. Oneday, he decided to transform this string to a new sequen ...