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

Инициализатор типа "" выдал исключение. Не могу найти причину проблемы

29.04.2021, 04:48. Показов 10686. Ответов 10
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Приветствую.
Не так давно начал изучать и разрабатывать программу для проектной работы на С# и соответственно в самом начале столкнулся с проблемой которой не понимаю: при запуске программы из Microsoft Visual Studio выдается ошибка "System.TypeInitializationException: "Инициализатор типа "SLRDbConnector.DbConnector" выдал исключение.". До этого была подключена библиотека SLRDbConnector.dll. Далее прописал это все в коде программы (про добавление библиотеки и прописании ее в коде смотрел на видео у джентльмена, но у него программа не ругалась), после чего запускаю все - и Visual Studio начинает ругаться на DbConnector:

C#
1
2
3
4
5
6
7
public partial class Form1 : Form
    {
        DbConnector db;
        public Form1()
        {
            InitializeComponent();
            db = new DbConnector();
Буду рад помощи, спасибо.
Миниатюры
Инициализатор типа "" выдал исключение. Не могу найти причину проблемы   Инициализатор типа "" выдал исключение. Не могу найти причину проблемы  
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
29.04.2021, 04:48
Ответы с готовыми решениями:

Инициализатор типа "" выдал исключение. Не могу найти причину проблемы
Здравствуйте. Мне C# выдает исключение на исполнение статического метода CreateSettingsGames(); Сообщения исключения: ...

MathLab. Инициализатор типа MWArray выдал исключение
скомпилировал приложение матлаба под .NET, смотрел этот пример http://habrahabr.ru/post/132487/ но программа ругается на эту строку ...

Ошибка инициализатор типа <Module> выдал исключение при распечатывании документа на Windows XP
Доброе утро.Ребята подскажите, с чем может быть связанно данное исключение, исключение вылетает на компьютере с XP, когда начинается...

10
Эксперт .NET
 Аватар для Usaga
14314 / 9398 / 1355
Регистрация: 21.01.2016
Сообщений: 35,431
29.04.2021, 05:07
gfhnrhnrfn, исключение возникает в сторонней библиотеке. Нужно смотреть исходный код этой библиотеки. По этим скриншотам проблему не решить, как головную боль по фотографии.
0
0 / 0 / 0
Регистрация: 16.02.2020
Сообщений: 75
29.04.2021, 05:20  [ТС]
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
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
using System;
using System.Collections.Generic;
using System.Configuration;
using System.Data;
using System.Data.SqlClient;
using System.Windows.Forms;
 
namespace SLRDbConnector
{
  public class DbConnector
  {
    private static string _ConnectionString = ConfigurationManager.ConnectionStrings["ConnString"].ConnectionString;
    private SqlCommand cmd_;
    private SqlConnection conn_;
    private SqlDataAdapter adptr_;
    private SqlDataReader reader_;
    private DataTable dtable_;
 
    public string getmessage { get; set; }
 
    public DbConnector()
    {
      this.conn_ = new SqlConnection(DbConnector._ConnectionString);
      this.cmd_ = new SqlCommand();
      this.dtable_ = new DataTable();
      this.adptr_ = new SqlDataAdapter();
    }
 
    public bool connect()
    {
      try
      {
        this.conn_.Open();
        this.getmessage = "successfully connected";
        return true;
      }
      catch (Exception ex)
      {
        this.getmessage = "connection error" + ex.Message;
        return false;
      }
    }
 
    public bool disconnect()
    {
      try
      {
        this.conn_.Close();
        return true;
      }
      catch (Exception ex)
      {
        return false;
      }
    }
 
    public string getSingleValue(string query, out string columnData, int index)
    {
      string str = (string) null;
      try
      {
        this.cmd_.Connection = this.conn_;
        this.cmd_.CommandText = query;
        this.connect();
        this.reader_ = this.cmd_.ExecuteReader();
        while (this.reader_.Read())
          str = this.reader_[index].ToString();
        this.getmessage = "successfull get value";
      }
      catch (Exception ex)
      {
        this.getmessage = "error" + ex.Message;
      }
      finally
      {
        this.disconnect();
      }
      columnData = str;
      return str;
    }
 
    public string performCRUD(string query)
    {
      string str = "";
      string lower = query.ToLower();
      try
      {
        this.cmd_.CommandText = query;
        this.cmd_.Connection = this.conn_;
        this.connect();
        this.cmd_.ExecuteNonQuery();
        if (lower.ToLower().Contains("insert into"))
          str = this.getmessage = " inseteted successfully ";
        else if (lower.Contains("delete form"))
          str = this.getmessage = "delete successfull";
        else if (lower.Contains("Update") && lower.Contains("set"))
          str = this.getmessage = "update successfull";
        else if (lower.Contains("Creat table"))
          str = this.getmessage = "create table successful";
      }
      catch (Exception ex)
      {
        str = this.getmessage = "failed to execute" + query + "\n resoin :" + ex.Message;
      }
      finally
      {
        this.disconnect();
      }
      return str;
    }
 
    public string fillDataGridView(string query, DataGridView dgv)
    {
      this.dtable_ = new DataTable();
      string str;
      try
      {
        this.cmd_.Connection = this.conn_;
        this.cmd_.CommandText = query;
        this.connect();
        this.adptr_.SelectCommand = this.cmd_;
        this.adptr_.Fill(this.dtable_);
        dgv.DataSource = (object) this.dtable_;
        dgv.Refresh();
        str = "Code Executed Successfully (filldatagridView()=> datalayer.cs)";
      }
      catch (Exception ex)
      {
        str = "Failed (filldatagridView()=> datalayer.cs) : " + ex.Message;
      }
      finally
      {
        this.disconnect();
        this.dtable_ = (DataTable) null;
      }
      return str;
    }
 
    public string GetSingleValueByArray(string query, out List<string> columndata, int index)
    {
      List<string> stringList = new List<string>();
      string str;
      try
      {
        this.cmd_.Connection = this.conn_;
        this.cmd_.CommandText = query.ToLower();
        this.connect();
        this.reader_ = this.cmd_.ExecuteReader();
        while (this.reader_.Read())
          stringList.Add(this.reader_[index].ToString());
        str = "Operation Successfull!";
        this.getmessage = "values successfully got from getSingleValueAsArrayByindex() function";
      }
      catch (Exception ex)
      {
        str = "Error in datalayer -> getSingleValueAsArrayByIndex() Reason:" + ex.Message;
        this.getmessage = "Error in datalayer getSingleValueAsArrayByIndex() for reader_ \n" + ex.Message;
        stringList.Clear();
      }
      finally
      {
        this.disconnect();
      }
      columndata = stringList;
      return str;
    }
 
    public void FillCombobox(string qry, ComboBox cmd)
    {
      int num = 0;
      List<string> columndata = new List<string>();
      this.GetSingleValueByArray(qry, out columndata, 0);
      foreach (string str in columndata)
      {
        if (str.Length > 0)
        {
          cmd.Items.Add((object) str);
          ++num;
        }
      }
      if (num <= 0)
        return;
      cmd.SelectedIndex = 0;
    }
 
    public string[] getArray(string query, int length)
    {
      string[] strArray = new string[length];
      try
      {
        this.cmd_.Connection = this.conn_;
        this.cmd_.CommandText = query;
        this.connect();
        this.reader_ = this.cmd_.ExecuteReader();
        while (this.reader_.Read())
        {
          for (int ordinal = 0; ordinal <= this.reader_.FieldCount; ++ordinal)
            strArray[ordinal] = this.reader_[ordinal].ToString();
        }
      }
      catch (Exception ex)
      {
      }
      finally
      {
        this.disconnect();
      }
      return strArray;
    }
  }
0
Эксперт .NET
 Аватар для Usaga
14314 / 9398 / 1355
Регистрация: 21.01.2016
Сообщений: 35,431
29.04.2021, 05:29
gfhnrhnrfn, вот. Теперь подключайте сей код к своему проекту взамен готовой сборки и снова запускайте под отладкой. В этот раз исключение уже будет на той строке, где оно реально возникает. Там и смотрите что null.
0
0 / 0 / 0
Регистрация: 16.02.2020
Сообщений: 75
29.04.2021, 06:06  [ТС]
То есть, данный код вставить в код программы́ моей и снова запустить? И тогда уже смотреть, на какую часть кода будет ругаться? Пардон за тупизну))
0
Эксперт .NET
 Аватар для Usaga
14314 / 9398 / 1355
Регистрация: 21.01.2016
Сообщений: 35,431
29.04.2021, 06:17
gfhnrhnrfn, ага.
0
148 / 92 / 56
Регистрация: 03.02.2021
Сообщений: 284
29.04.2021, 06:27
Судя по тому, что ошибка возникла в конструкторе, проблема кроется в
C#
1
ConfigurationManager.ConnectionStrings["ConnString"].ConnectionString
Посмотрите, какое он выдаст значение (если вообще что-то выдаст, сдается мне, что он пустой)

Добавлено через 6 минут
Возможно в App.config нет раздела <connectionStrings>
0
0 / 0 / 0
Регистрация: 16.02.2020
Сообщений: 75
29.04.2021, 07:25  [ТС]
Не совсем понял что вы имеете ввиду))
Я лишь понял, что указанная вами строчка находится в коде из библиотеки, который я скопировал.
0
Эксперт .NET
 Аватар для Usaga
14314 / 9398 / 1355
Регистрация: 21.01.2016
Сообщений: 35,431
29.04.2021, 07:59
gfhnrhnrfn, ищите конкретную строку, где возникает исключение. Гадать бесполезно. У вас есть исходник класса проблемного. Отлаживайте.
0
148 / 92 / 56
Регистрация: 03.02.2021
Сообщений: 284
29.04.2021, 08:13
Судя по скриншотам, ошибка (NULLReferenceException) возникает у вас в момент вызова конструктора DbConnector.
Конструктор, который приведен в вышеуказанном коде содержит 4 команды, причем, я не думаю, что ошибка NULLReferenceException (ссылка на null) возникает в new SqlCommand(); new DataTable() или new SqlDataAdapter().
Остается только new SqlConnection(DbConnector._ConnectionStr ing), а именно стоит обратить внимание на статичное свойство _ConnectionString, значение которого берется из ConfigurationManager.ConnectionStrings["ConnString"].ConnectionString;
Значение для ConfigurationManager берется из файла App.config проекта, содержимое которого (в вашем случае) должно выглядеть как минимум так:
XML
1
2
3
4
5
6
<?xml version="1.0" encoding="utf-8" ?>  
<configuration>  
    <connectionStrings>  
      <add name="ConnString" connectionString="а вот здесь описывается строка подключения в БД" />  
    </connectionStrings>  
</configuration>
Так вот, если у вас нет App.config с параметром connectionString, который называется ConnString, то DbConnector._ConnectionString будет указывать как раз на NULL.
0
1168 / 886 / 517
Регистрация: 09.04.2014
Сообщений: 2,102
29.04.2021, 10:20
тут написано, что строку подключения нужно задать в app.config, иначе работать не будет
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
29.04.2021, 10:20
Помогаю со студенческими работами здесь

Инициализатор типа NHibernate.Cfg.Configuration выдал исключение
Здравствуйте, собственно вылезла такая ошибка, ума не приложу где копать и на что смотреть. Где по ней смотреть логи и с чем все это...

Инициализатор типа "Efi.Wavelets" выдал исключение
Доброго времени суток При работе с .xmcd в 15 версии mathcad'а выдает следующую ошибку: http://rghost.ru/12641191/image.png Если...

Инициализатор типа "WindowsApplication1.Module1" выдал исключение
День добрый, второй раз сталкиваюсь с такой проблемой: в один прекрасный момент Инициализатор типа...

Инициализатор типа "WindowsApplication1.ThemeXMLhandler" выдал исключение
При обращении к функции выдает ошибку ((( Вот код процедуры: Private Sub FormViborDesing_Load(ByVal sender As...

System.TypeInitializationException: "Инициализатор типа "Forms.FormABC" выдал исключение."
System.TypeInitializationException: &quot;Инициализатор типа &quot;Forms.FormABC&quot; выдал исключение.&quot; при попытке запуска приложения с собственным...


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

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Новые блоги и статьи
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
10 пpимет, которые всегда сбываются
Maks 31.03.2026
1. Чтобы, наконец, пришла маршрутка, надо закурить. Если сигарета последняя, маршрутка придет еще до второй затяжки даже вопреки расписанию. 2. Нaдоели зима и снег? Не надо переезжать. Достаточно. . .
Перемещение выделенных строк ТЧ из одного документа в другой
Maks 31.03.2026
Реализация из решения ниже выполнена на примере нетипового документа "ВыдачаОборудованияНаСпецтехнику" с единственной табличной частью "ОборудованиеИКомплектующие" разработанного в конфигурации КА2. . . .
Functional First Web Framework Suave
DevAlt 30.03.2026
Sauve. IO Апнулись до NET10. Из зависимостей один пакет, работает одинаково хорошо как в режиме проекта так и в интерактивном режиме. из сложностей - чисто функциональный подход. Решил. . .
Автоматическое создание документа при проведении другого документа
Maks 29.03.2026
Реализация из решения ниже выполнена на нетиповых документах, разработанных в конфигурации КА2. Есть нетиповой документ "ЗаявкаНаРемонтСпецтехники" и нетиповой документ "ПланированиеСпецтехники". В. . .
Настройка движения справочника по регистру сведений
Maks 29.03.2026
Решение ниже реализовано на примере нетипового справочника "ТарифыМобильнойСвязи" разработанного в конфигурации КА2, с целью учета корпоративной мобильной связи в коммерческом предприятии. . . .
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru