如何使用OleDbDataAdapter Fill方法只添加确定数量的行



我想在数据集中添加行,但只有特定数量的行(为了避免"定义的字段太多"异常)。这是我到目前为止所尝试的:

OleDbCommand command = new OleDbCommand(@"SELECT TOP 100 FROM [" + SheetName + "]", connection);

异常:SELECT语句中包含保留字或参数名,但该保留字或参数名拼写错误或缺少,或标点符号错误。

OleDbCommand command = new OleDbCommand(@"SELECT * FROM [" + SheetName + "] LIMIT 100", connection);

异常:FROM子句语法错误。

我也试过这个,我从另一个网站

OleDbCommand command = new OleDbCommand(@"SELECT TOP 100 * FROM [" + SheetName + "]", connection);

异常:定义了太多字段。

我不知道还可以尝试什么,有什么建议吗?

您可以指定希望Fill()方法检索多少行。以下是来自MSDN的签名:

public int Fill(
    int startRecord,
    int maxRecords,
    params DataTable[] dataTables
)
http://msdn.microsoft.com/en-us/library/0z5wy74x.aspx

嗯,我相信你不能通过限制行来解决太多字段的问题。

但是限制字段是可以做到的。第一次尝试

的问题
TOP 100 FROM 

表示语法无效。如果希望限制字段,则需要显式地使用如下的列名称

SELECT TOP 100 ColumnName1, ColumnName2, ColumnName3 from ....

一般来说,我建议永远不要使用select *,但总是精确地使用您需要的列。

相关内容

  • 没有找到相关文章

最新更新