我的数据库中有一个表,我需要获取与同一列对应的单元格值,并将它们显示在三个不同的文本框中。我得到的代码是:
if (numberOrResults == 1) { using (OleDbCommand cmdDataBase = conDataBase.CreateCommand()) { // We declare the text of the query cmdDataBase.CommandText = "SELECT User_Subject.* FROM User_Subject WHERE User_ID = @user_id"; cmdDataBase.Parameters.AddRange(new OleDbParameter[] { new OleDbParameter("@user_id", currentUser.ID) }); // Open database if not open if (conDataBase.State != ConnectionState.Open) conDataBase.Open(); // We need to use a using statement since OleDbDataReader inherits DbDataReader which implements IDisposable // more info: http://msdn.microsoft.com/en-us/library/system.data.common.dbdatareader(v=vs.110).aspx using (OleDbDataReader myReader = cmdDataBase.ExecuteReader()) { var ordinals = new { Sub_Id = myReader.GetOrdinal("Subject_ID"), Score = myReader.GetOrdinal("Score"), }; while (myReader != null && myReader.Read()) { // We read the data from the selected columns, rows and cells currentUser.addSubject(myReader.GetInt32(ordinals.Sub_Id), myReader.GetInt32(ordinals.Score)); currentUser.English = myReader[4].ToString(); currentUser.Maths = myReader[5].ToString(); currentUser.Physics = myReader[6].ToString(); } } } }
该表有三列,我想获得第三列中单元格的值。现在,文本框中显示的数据是同一行中的三个单元格。