ASP.NET CSHTML Подключение SQL-соединения - PullRequest
0 голосов
/ 23 сентября 2019

После стольких проектов, выполненных с использованием стандартного SQL-соединения, т. Е.

Server=myServerAddress;Database=myDataBase;User Id=myUsername;
Password=myPassword;

Сейчас я перехожу к присоединению SQL-соединений к самому проекту.

enter image description here

В стандартном соединении SQL я понимаю, как открыть / закрыть или использовать «использование» для соединения SQL, подключить / создать адаптер и заполнить набор данных на основе этого адаптера, а также переместить данныев DataSet для DataTable для использования в DataView.

т.е.

using (SqlConnection appCon = new SqlConnection(DNCS))
            {
                LMTF.LogMessageToFile("DB Connected Successfully");
                SqlDataAdapter transDA2 = new SqlDataAdapter(DNST, appCon);
                HRDevs = new DataSet();
                transDA2.Fill(HRDevs, "HRDevices");
                HRDT = (HRDevs.Tables[0].DefaultView).ToTable();
                try
                {
                    foreach (DataRow row in HRDT.Rows)
                    {
                        HRDevice = row["HRDevices"].ToString();
                        HRDName = row["HRDName"].ToString();
                        LMTF.LogMessageToFile("Found a device with serial : " + HRDevice + " , Belongs to property : " + HRDName);
                    }
                }
                catch(System.Exception ex)
                {
                    LMTF.LogMessageToFile("Unable to determine HR Devices from DB. Error is : " + ex.Message);
                }
            }

Теперь моя проблема в том, что я не понимаю, как все это делается, когда я присоединяю SQL ксам проект, как показано на рисунке выше.

Я знаю, что DataSet в Attached SQL содержит таблицу, имя адаптера, а также имя метода.

Но как мне использовать это имя запроса?Как мне вызвать эти адаптеры или использовать имя метода для возврата значений, которые он содержит?Как я называю имя Соединения SQL для присоединенного SQL?Это меня очень смущает.

Кто-нибудь может подсказать мне правильный путь?

Также есть ли разница в использовании стандартного SQL-соединения для присоединения SQL к проекту?

enter image description here

Редактировать 1:

Это прикрепленный DataSet в моем проекте.enter image description here

1 Ответ

1 голос
/ 23 сентября 2019

tldr: Это соединение не подключено к вашему проекту.


Соединение, которое вы видите, является просто полезным представлением базы данных в обозревателе вашего сервера.Для вашего удобства это инструмент с графическим интерфейсом вместо того, чтобы переключаться на SSMS.Это часть визуальной студии, а не часть приложения, которое вы пишете.Ваш код ничего не знает об этом.

Ваше приложение должно по-прежнему подключаться к базе данных обычным способом, используя строку подключения, когда оно выполняется.

Это потому, что ваше приложение выполняется отдельно от Visual Studio.Подумайте об этом ... когда вы развертываете свой код как живое приложение, у него больше нет ссылок на Visual Studio.Это там само по себе.Поэтому не имеет смысла зависеть от компонента внутри Visual Studio.Возможно, вы используете инструменты GUI для перетаскивания таких вещей, как наборы данных, в ваше приложение, но все, что вы делаете, - это предоставляет графический способ автоматической генерации некоторого кода.В конце концов, этот код все еще должен выполняться независимо.

Редактор набора данных, который вы упомянули, является еще одним инструментом времени разработки.Так что да, он может подключаться к базе данных через объект Connection в Server Explorer, но это не имеет никакого отношения к вашему приложению, потому что приложение не выполняет код конструктора при запуске.Вместо этого он использует созданный им набор данных (т. Е. результат использования конструктора) как часть приложения.Этот набор данных в контексте вашего работающего приложения должен снова подключиться к базе данных, чтобы заполнить данными.Это делается с использованием стандартной строки подключения в вашем конфигурационном файле.


Резюме:

Не путайте инструменты, используемые при сборке приложения, с самим фактическим законченным приложением.,Все, что делают эти инструменты, - это облегчает написание и генерацию кода вашего приложения.Вы можете написать точно такое же приложение вручную, используя Блокнот, если хотите.И вы можете скомпилировать и выполнить его с помощью инструментов командной строки, без необходимости в Visual Studio.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...