Форум программистов, компьютерный форум, киберфорум
C#: Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/8: Рейтинг темы: голосов - 8, средняя оценка - 4.75
0 / 0 / 0
Регистрация: 30.11.2012
Сообщений: 10

Просмотр содержимого таблицы и ошибка "В экземпляре объекта не задана ссылка на объект"

30.11.2012, 14:26. Показов 1730. Ответов 10
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
привет всем!!!
у меня такая проблемка,когда хочу просмотреть содержимое таблицы выдается ошибка "В экземпляре объекта не задана ссылка на объект"

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
private void Form2_Load(object sender, EventArgs e)
        {
            SqlConnectionStringBuilder bldr = new SqlConnectionStringBuilder();
            bldr.DataSource = @".\SQLExpress";
            bldr.IntegratedSecurity = true;
            OpenFileDialog ofd = new OpenFileDialog();
            ofd.Filter = "SQLEXPRES Files (*.mdf)|*.mdf";
            ofd.ShowDialog();
            bldr.AttachDBFilename = ofd.FileName;
            using (SqlConnection cn = new SqlConnection(bldr.ConnectionString))
            {
                try
                {
                    cn.Open();
                    MessageBox.Show("База данных подключена");
                }
                catch (SqlException ex)
                {
                    MessageBox.Show(ex.Message);
                }
            }
          
            this.Text = Program.UserLoginName;
 
        }
 
        
 
 
        private void button1_Click(object sender, EventArgs e)
        {
            string nameTable = "";
            string strSQL;
            switch (comboBox1.SelectedIndex)
            {
                case 0: nameTable = "Должности"; break;
                case 1: nameTable = "Сотрудники"; break;
 
            }
            strSQL = "SELECT* FROM " + nameTable;
 
            using (cn = new SqlConnection(bldr.ConnectionString))
            {
                try
                {
                    cn.Open();
                    SqlCommand cmd = new SqlCommand(strSQL, cn);
                    SqlDataReader rdr = cmd.ExecuteReader();
                
                    DataTable t = new DataTable();
                    t.Load(rdr);
                    
                    dataGridView1.DataSource = t.DefaultView;
 
                    cn.Close();
                }
                catch (SqlException ex)
                {
                    MessageBox.Show(ex.Message);
                }
 
            }
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
30.11.2012, 14:26
Ответы с готовыми решениями:

Ошибка: В экземпляре объекта не задана ссылка на объект :(
Привет! Помогите пожалуйста разобраться:) Программист из меня никакой, поэтому объясняю как могу:) На форме находятся четыре...

Ошибка - В экземпляре объекта не задана ссылка на объект
Добрый день. Подскажите как исправить такую ошибку System.NullReferenceException: "Object reference not set to an instance of an...

Ошибка времени выполнения: В экземпляре объекта не задана ссылка на объект.
Помогите пожалуйста исправить ошибку.. type massiv = array of byte; masbool = array of boolean; var set_arr: masbool; ...

10
Заблокирован
30.11.2012, 14:47
Вот так будет правильно.
C#
1
2
3
4
5
6
7
8
9
10
using (cn = new SqlConnection(bldr.ConnectionString))
{
     SqlCommand cmd = new SqlCommand(strSQL, cn);
     DataTable t = new DataTable();
     using(SqlDataAdapter myAdapter = new SqlDataAdapter(cmd))
     { 
          myAdapter.Fill(t);
     }
     dataGridView1.DataSource = t.DefaultView;
}
1
0 / 0 / 0
Регистрация: 30.11.2012
Сообщений: 10
30.11.2012, 14:59  [ТС]
огромное спасибо
0
Заблокирован
30.11.2012, 15:00
Хорошо бы знать еще из какого места летит Exception. Дебагером пройдитесь.
C#
1
 SqlDataReader rdr = cmd.ExecuteReader(); //У Вас возвращает строки?
0
0 / 0 / 0
Регистрация: 30.11.2012
Сообщений: 10
30.11.2012, 15:06  [ТС]
когда указывал путь к бд сам, то этот код работал
0
Заблокирован
30.11.2012, 15:14
Посмотрев внутрь dataTable.Load(rdr)..
становится понятно, что и Ваш код именно в этом месте должен работать.


reflector

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
public virtual void Load(IDataReader reader, LoadOption loadOption, FillErrorEventHandler errorHandler)
{
    IntPtr ptr;
    Bid.ScopeEnter(out ptr, "<ds.DataTable.Load|API> %d#, loadOption=%d{ds.LoadOption}\n", this.ObjectID, (int) loadOption);
    try
    {
        if (this.PrimaryKey.Length == 0)
        {
            DataTableReader reader2 = reader as DataTableReader;
            if ((reader2 != null) && (reader2.CurrentDataTable == this))
            {
                return;
            }
        }
        LoadAdapter adapter = new LoadAdapter();
        adapter.FillLoadOption = loadOption;
        adapter.MissingSchemaAction = MissingSchemaAction.AddWithKey;
        if (errorHandler != null)
        {
            adapter.FillError += errorHandler;
        }
        adapter.FillFromReader(new DataTable[] { this }, reader, 0, 0);
        if (!reader.IsClosed && !reader.NextResult())
        {
            reader.Close();
        }
    }
    finally
    {
        Bid.ScopeLeave(ref ptr);
    }
}
0
0 / 0 / 0
Регистрация: 30.11.2012
Сообщений: 10
30.11.2012, 15:21  [ТС]
все равно выдается эта ошибка,
0
Заблокирован
30.11.2012, 15:35
Пройдитесь дебагером укажите в каком месте летит Exception, разве это трудно? В Вашем коде потенциально ну очень много мест где возможно исключение.

Добавлено через 7 минут
cn.Close(); кстати не нужен.
0
0 / 0 / 0
Регистрация: 30.11.2012
Сообщений: 10
30.11.2012, 19:25  [ТС]
C#
1
using (cn = new SqlConnection(bldr.ConnectionString))
в этой строке ошибку выдает
0
Заблокирован
30.11.2012, 19:54
using (var cn = new SqlConnection(bldr.ConnectionString)) и как я этого не увидел?

Добавлено через 49 секунд
ну или
C#
1
using (SqlConnection cn = new SqlConnection(bldr.ConnectionString)) // но я люблю var
0
0 / 0 / 0
Регистрация: 30.11.2012
Сообщений: 10
30.11.2012, 23:48  [ТС]
все равно не катит

Добавлено через 4 минуты
нашел наконец то мою ошибку
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
30.11.2012, 23:48
Помогаю со студенческими работами здесь

Ошибка времени выполнения: В экземпляре объекта не задана ссылка на объект
const nv = 20; type pz = ^z; z = record v: byte; next: pz; end;

Ошибка времени выполнения: В экземпляре объекта не задана ссылка на объект
Где ошибка? Если можно то описать в чем проблема по подробней. uses GraphABC, Events, ABCObjects; var krug: CircleABC; prov:...

Ошибка времени выполнения, в экземпляре объекта не задана ссылка на объект
Программа должна реализовывать метод Зейделя. Но при вводе массива выдает ошибку времени выполнения. Подскажите пожалуйста, что не...

Метод Зейделя: Ошибка времени выполнения, в экземпляре объекта не задана ссылка на объект
Программа должна реализовывать метод Зейделя. Но при вводе массива выдает ошибку времени выполнения. Подскажите пожалуйста, что не...

В экземпляре объекта не задана ссылка на объект
Делаю массив из Label Label labels = new Label; Далее задаю настройки for (int i = 0; i &lt; 10; i++) ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Новые блоги и статьи
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru