我想用在组合框中选择的客户名称的 ID 填充文本框。我在客户 ID 下收到错误,说
未知方法 'GetInt32(string)' of 'System.Data.Oledb.OledbDataReader'
这是整个代码的副本
private void RadMultiColumnComboBox1SelectedIndexChanged(object sender, EventArgs e)
{
string constring = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source= RoadRunnerDB.mdb";
string query = "select * from RoadRunnerDB.customerList where customerCompanyName = '" + radMultiColumnComboBox1 + "';";
OleDbConnection con = new OleDbConnection(constring);
OleDbCommand cmd = new OleDbCommand(query, con);
OleDbDataReader rd;
try
{
con.Open();
rd = cmd.ExecuteReader();
while (rd.Read())
{ //Error is under here
string custID = rd.GetInt32("customerID").ToString();
radTextBox5.Text = custID;
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
根据 msdn GetInt32(int index)
采用从零开始的列序号
因此,请将代码从string query = "select * from RoadRunnerDB.custo.....
更改为
string query = "select customerID from RoadRunnerDB.customerList....
并使用 MSDN 所述的GetString( int index)
:
string custID = rd.GetString(0);