Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > Общие вопросы .NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 04.01.2010, 17:26   #1
adwaer
Пользователь
 
Регистрация: 06.06.2008
Сообщений: 47
По умолчанию Странное исключение при просмотре поля Access

Ответьте пожалуйста почему выдаётся на
Код:
try
{     log = Convert.ToString(myOleDbDataReader["password"]);
}

Выдаётся исключение IndexOutOfRangeException, в описании ошибки написано "password"

В таблице db.mdb 3 поля: [Num]:счетчик[user]:текст[password]:текст

Буду очень благодарен если поможете.

Код:
string connectionString =
                                    "provider=Microsoft.Jet.OLEDB.4.0;" +
                                    "data source=C:\\mobile_system\\db.mdb";
                                OleDbConnection myOleDbConnection = new OleDbConnection(connectionString);
                                OleDbCommand myOleDbCommand = myOleDbConnection.CreateCommand();


                                string log = "";

                                        myOleDbCommand.CommandText =

                                          "SELECT user " +

                                            "FROM auth " +

                                              "WHERE user = ?" ;

                                        OleDbParameter dataDoc = myOleDbCommand.Parameters.Add("@user", OleDbType.VarChar);
                                        dataDoc.Value = login.Text;

                                        myOleDbConnection.Open();                                       
                                    
                                     OleDbDataReader myOleDbDataReader = myOleDbCommand.ExecuteReader();

                                     myOleDbDataReader.Read();

                                     try
                                     {
                                         log = Convert.ToString(myOleDbDataReader["user"]);
                                     }
                                     catch (InvalidOperationException)
                                     {
                                         MessageBox.Show("Пользователь не зарегистрирован");
                                     }
                                     myOleDbConnection.Close();


                                     string connect =
                                     "provider=Microsoft.Jet.OLEDB.4.0;" +
                                     "data source=C:\\mobile_system\\db.mdb";
                                     OleDbConnection Connection = new OleDbConnection(connect);
                                     OleDbCommand Command = Connection.CreateCommand();
                                    
                                    
                                     Command.CommandText =

                                           "SELECT user " +

                                             "FROM auth " +

                                               "WHERE user = ?";

                                     OleDbParameter pas = Command.Parameters.Add("@password", OleDbType.VarChar);
                                     pas.Value = pass.Text;

                                     Connection.Open();
                                     OleDbDataReader Reader = Command.ExecuteReader();
                                     Reader.Read();

                                     try
                                     {
                                         object b = Reader["password"];
                                     }
                                     catch (InvalidOperationException)
                                     {
                                         MessageBox.Show("Пользователь не зарегистрирован");
                                     }



                                     this.Text = "+7" + login.Text;
                                     this.Hide();
                                     new client(this).Show();
adwaer вне форума Ответить с цитированием
Старый 05.01.2010, 06:07   #2
akasex
Форумчанин Подтвердите свой е-майл
 
Аватар для akasex
 
Регистрация: 31.03.2008
Сообщений: 179
По умолчанию

did you tried : "WHERE user = @password" instead of "WHERE user = ?" ???
akasex вне форума Ответить с цитированием
Старый 05.01.2010, 09:17   #3
adwaer
Пользователь
 
Регистрация: 06.06.2008
Сообщений: 47
По умолчанию

Thank you!
adwaer вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
комп тормозит при просмотре mp4 WOLFak Свободное общение 7 04.06.2009 14:33
QuickRep не все элементы отображаются при просмотре xxxsas Общие вопросы C/C++ 1 12.04.2009 08:33
Проблема при просмотре видео Ronni10 Операционные системы общие вопросы 1 16.10.2008 11:48
Возникает исключение "Access violation at address ... Наташка Общие вопросы Delphi 1 18.05.2007 12:16