c# - 将字符串转换为 int 时出现 Datareader 错误

标签 c# oledb oledbdatareader

我在 reader.GetString 遇到编译时错误,知道为什么吗?

代码:

using (var connection = new OleDbConnection())
{
    connection.ConnectionString = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Users\Sparrow vivek\Documents\Billing.accdb";
    connection.Open();
    var query = "SELECT ItemCode FROM invoice";
    using (var command = new OleDbCommand(query, connection))
    {
        using (var reader = command.ExecuteReader())
        {
            while (reader.Read())
            {
                comboBox1.Items.Add(reader.GetString("ItemCode"));
                comboBox2.Items.Add(reader.GetString("ItemCode"));
            }
        }
    }
}

enter image description here

最佳答案

OleDbDataReader.GetString methodint 作为参数,而不是 string

public override string GetString(
    int i
)

它采用从零开始的列号。

由于您只有一列,因此将其更改为;

while (reader.Read())
{
    comboBox1.Items.Add(reader.GetString(0));
    comboBox2.Items.Add(reader.GetString(0));
}

关于c# - 将字符串转换为 int 时出现 Datareader 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27486685/

相关文章:

.net - Oledb 数据读取器读取 Excel 文档中已删除的行

c# - 如何在新创建的数据库列上将访问列值设置为 0(默认值)? C#

powershell - 如何在 Powershell 中对 3000 万条 csv 记录进行排序

c# - 使用 LINQ 创建一个 List<T> 其中 T : someClass<U>

c# - 以编程方式重置 VisualStudio 快捷方式

c# - 通过 OleDB 读取 Excel 文件时非空单元格中的 DBNull

c# - 如何从 C# 中的 Access 数据库检索列描述?

c# - 在显示到 WPF WebBrowser 控件之前操作 HTML 文档

c# - EF 代理和复杂的数据结构

c# - 使用 OleDB 从 Excel 工作表(扩展名为 .xlsm 的文件)中检索第一列的值