【问题标题】:SQL DataRetrival in VB.net Datatypes ErrorVB.net 数据类型错误中的 SQL 数据检索
【发布时间】:2013-11-18 18:42:45
【问题描述】:

我正在使用 SQL 查询从 excelsheet 获取值以绑定到 datagridview 但我的问题是 excelsheet 列包含不同类型的数据,然后当我使用 sql 查询时它只显示特定数据,如 long、double 或 string

Excelsheet 栏目内容

col1  col2
1     1209
2     1802
3     18nR
4     Uy61
5     1298 

col1 加载正常,但在第 2 列中,第 3 和第 4 单元格显示为空我无法得到问题,也许 sql 将列定义为整数而不是可能的解决方案在这里(实际列包含大数据这里的表是一个示例来清除问题)

【问题讨论】:

  • 默认情况下,Excel 驱动程序根据前 8 行定义列类型 - 因此,如果前 8 个单元格是数字 - 列变为数字并且所有非数字值都将被忽略。您可以通过调整驱动程序设置来更改该行为 - Google“TypeGuessRows”及其使用方式。
  • @YuriyGalanter 感谢您的回复,但是我们可以在不更改系统或驱动程序设置的情况下这样做吗,例如在查询中使用某些表达式,谢谢
  • 因为我在注册表中更改了它,但我仍然有问题

标签: sql vb.net


【解决方案1】:
connection = New System.Data.OleDb.OleDbConnection("Provider = Microsoft.Jet.OLEDB.4.0 ;Data Source=" & Filepath & " ;Extended Properties='Excel 8.0;HDR=Yes;IMEX=1;'")

【讨论】:

  • 哇,它是伟大的伙伴,它的工作非常好
  • 欢迎您的 Jadeja RJ
  • 非常酷。但请记住,Jet 不能在 64 位系统上工作,也不能读取 Excel 2007 及更高版本 (XLSX) 文件。但我认为类似的方法也适用于新驱动程序。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-06-12
  • 2010-12-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多