0

我这里有问题。我已经在 Windows 应用程序中创建了一个连接到数据库的文本框,但是这个文本框是字符串类型并且工作成功,在第二种形式中,我创建了一个连接到数据库的文本框数组,但这次是 int 类型。我如何将该文本框访问到 int 类型的数据库?

这是我的第二种形式的代码,我使用了一个文本框数组:

OleDbDataReader dReader;
        OleDbConnection conn = new OleDbConnection(connectionString);
        conn.Open();
        OleDbCommand cmd = new OleDbCommand("SELECT DISTINCT [Code] FROM [Data] ORDER BY [Code] ASC", conn);
        dReader = cmd.ExecuteReader();
        AutoCompleteStringCollection namesCollection = new AutoCompleteStringCollection();

        while (dReader.Read())
        {
            namesCollection.Add(dReader.GetInt32(dReader.GetOrdinal("Code"));
        }

        textBoxCodeContainer[0][0].AutoCompleteMode = AutoCompleteMode.Suggest;
        textBoxCodeContainer[0][0].AutoCompleteSource = AutoCompleteSource.CustomSource;
        textBoxCodeContainer[0][0].AutoCompleteCustomSource = namesCollection;

        dReader.Close();
        conn.Close();

不知何故,while (dReader.Read()) 是错误的,我不知道如何解决这个问题,有人可以帮我吗?谢谢

4

1 回答 1

1

根据MSDN,唯一的Add方法AutoCompleteStringCollection是:

public int Add(string value)

因此,在将整数添加到集合之前尝试将其转换为字符串:

namesCollection.Add(Convert.ToString(dReader.GetInt32(dReader.GetOrdinal("Code")));
于 2013-07-29T16:32:38.767 回答