В настоящее время работаю над небольшим инструментом для компании, над которой я работаю, которая будет обрабатывать базу данных.У меня есть несколько классов, обрабатывающих различные функции SQL, но всякий раз, когда я пытаюсь поместить определенные данные из базы данных в представление данных, я получаю исключение.
Функция SQL:
public class OUsersDB
{
SqlConnection conn = new SqlConnection("Connection Information");
public SqlDataReader Select()
{
conn.Open();
SqlCommand cmd = conn.CreateCommand();
cmd.CommandType = CommandType.Text;
cmd.CommandText = "SELECT au.ApplicationId, au.UserId, au.UserName, au.MobileAlias, au.LastActivityDate, au.Name, sms.number, am.email FROM aspnet_users AS au " +
" JOIN aspnet_membership AS am ON au.userid=am.userid " +
" JOIN smsphonebooks AS sms ON au.name=sms.name";
SqlDataReader ur = cmd.ExecuteReader();
return ur;
}
}
Функция сетки данных Winform
public void Usersdb()
{
OUsersDB oudb = new OUsersDB();
SqlDataReader ur = oudb.Select();
myDataUsers.Rows.Clear();
while (ur.Read())
{
object[] objUsers = {
ur["au_ApplicationId"].ToString(),
ur["au_UserId"].ToString(),
ur["au_UserName"].ToString(),
ur["au_MobileAlias"].ToString(),
ur["au_LastActivityDate"].ToString(),
ur["au_Name"].ToString(),
ur["au_Phone"].ToString(),
ur["au_Email"].ToString(), };
myDataUsers.Rows.Add(objUsers);
conn.Close();
}
У меня есть аналогичная функция sql и массив объектов в коде, который загружается просто отлично, но, достигнув этой части, я получаю исключение на
ur["au_ApplicationId"].ToString(),
Это просто говорит
System.IndexOutOfRangeException: 'au_ApplicationId'