我想在DataSet中添加行,但只想添加特定数量的行(以避免“Too many fields defined。”异常)。这是我到目前为止所尝试的:
OleDbCommand command = new OleDbCommand(@"SELECT TOP 100 FROM [" + SheetName + "]", connection);
异常:SELECT语句包含拼写错误或缺失的保留字或参数名称,或者标点符号不正确。
OleDbCommand command = new OleDbCommand(@"SELECT * FROM [" + SheetName + "] LIMIT 100", connection);
异常:FROM子句中的语法错误。
我也试过这个,我从另一个site
OleDbCommand command = new OleDbCommand(@"SELECT TOP 100 * FROM [" + SheetName + "]", connection);
例外:定义了太多字段。
我不知道还有什么可以尝试,有什么建议吗?
答案 0 :(得分:2)
您可以指定要检索Fill()
方法的行数。这是来自MSDN的签名:
public int Fill(
int startRecord,
int maxRecords,
params DataTable[] dataTables
)
答案 1 :(得分:2)
好吧,我相信你不能通过限制行来解决那些字段太多的问题。
但是可以限制字段。你第一次尝试的问题
TOP 100 FROM
是语法无效。如果要限制字段,则需要明确使用类似
的列名SELECT TOP 100 ColumnName1, ColumnName2, ColumnName3 from ....
一般情况下,我建议永远不要使用select *,但总是精确地使用你需要的列。