Доступ к данным из базы данных является одним из важных аспектов любого языка программирования. Для любого языка программирования абсолютно необходимо иметь возможность работать с базами данных. C # ничем не отличается.
Может работать с различными типами баз данных. Он может работать с наиболее распространенными базами данных, такими как Oracle и Microsoft SQL Server.
Он также может работать с новыми формами баз данных, такими как MongoDB и MySQL.
В этом уроке вы узнаете
- Основы подключения к базам данных
- Как подключить C # к базе данных
- Доступ к данным с помощью SqlDataReader
- C # Вставить в базу данных
- Обновление записей
- Удаление записей
- Подключение элементов управления к данным
- C # DataGridView
Основы подключения к базам данных
C # и .Net могут работать с большинством баз данных, наиболее распространенными из которых являются Oracle и Microsoft SQL Server. Но с каждой базой данных логика работы со всеми из них в основном одинакова.
В наших примерах мы рассмотрим работу Microsoft SQL Server в качестве нашей базы данных. В целях обучения можно загрузить и использовать Microsoft SQL Server Express Edition , бесплатное программное обеспечение для баз данных, предоставляемое Microsoft.
При работе с базами данных ниже приведены концепции, которые являются общими для всех баз данных.
- Соединение — для работы с данными в базе данных первым очевидным шагом является соединение. Соединение с базой данных обычно состоит из следующих параметров.
- Имя базы данных или источник данных . Первый важный параметр — это имя базы данных, к которой необходимо установить соединение. Каждое соединение может работать только с одной базой данных одновременно.
- Учетные данные . Следующий важный аспект — это имя пользователя и пароль, которые необходимо использовать для установления соединения с базой данных. Это гарантирует, что имя пользователя и пароль имеют необходимые привилегии для подключения к базе данных.
- Необязательные параметры — для каждого типа базы данных вы можете указать необязательные параметры, чтобы предоставить больше информации о том, как .net должен обрабатывать соединение с базой данных. Например, можно указать параметр, как долго соединение должно оставаться активным. Если в течение определенного периода времени никакие операции не выполняются, параметр будет определять необходимость закрытия соединения.
- Выбор данных из базы данных. Как только соединение установлено, следующим важным аспектом является получение данных из базы данных. C # может выполнить команду выбора «SQL» для базы данных. Оператор «SQL» может использоваться для извлечения данных из определенной таблицы в базе данных.
- Вставка данных в базу данных — C # также может использоваться для вставки записей в базу данных. Значения могут быть указаны в C # для каждой строки, которая должна быть вставлена в базу данных.
- Обновление данных в базе данных — C # также может использоваться для обновления существующих записей в базе данных. Новые значения могут быть указаны в C # для каждой строки, которую необходимо обновить в базе данных.
- Удаление данных из базы данных — C # также можно использовать для удаления записей в базе данных. Команды выбора, чтобы указать, какие строки должны быть удалены, могут быть указаны в C #.
Хорошо, теперь, когда мы увидели теорию каждой операции, давайте перейдем к дальнейшим разделам, чтобы посмотреть, как мы можем выполнять операции с базой данных в C #.
Как подключить C # к базе данных
Давайте теперь посмотрим на код, который необходимо сохранить для создания соединения с базой данных. В нашем примере мы подключимся к базе данных с именем Demodb. Учетные данные, используемые для подключения к базе данных, приведены ниже
- Имя пользователя — sa
- Пароль — demo123
Мы увидим простое приложение Windows Forms для работы с базами данных. У нас будет простая кнопка «Подключиться», которая будет использоваться для подключения к базе данных.
Итак, давайте выполните следующие шаги для достижения этой цели
Шаг 1) Первый шаг включает создание нового проекта в Visual Studio. После запуска Visual Studio вам нужно выбрать пункт меню New-> Project.
Шаг 2) Следующий шаг — выбрать тип проекта в качестве приложения Windows Forms. Здесь также необходимо указать название и местонахождение нашего проекта.
- В диалоговом окне проекта мы видим различные варианты создания проектов разных типов в Visual Studio. Нажмите на опцию Windows слева.
- Если щелкнуть параметры Windows на предыдущем шаге, мы увидим параметр для приложения Windows Forms. Нажмите эту опцию.
- Затем мы даем имя для приложения, которое в нашем случае называется «DemoApplication». Нам также нужно указать место для хранения нашего приложения.
- Наконец, мы нажимаем кнопку «ОК», чтобы позволить Visual Studio создать наш проект.
Шаг 3) Теперь добавьте кнопку из панели инструментов в форму Windows. Поместите текстовое свойство Button как Connect. Вот так это будет выглядеть
Шаг 4) Теперь дважды щелкните форму, чтобы в код для события нажатия кнопки был добавлен обработчик события. В обработчике событий добавьте приведенный ниже код.
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Data.SqlClient; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; namespace DemoApplication1 { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { string connetionString; SqlConnection cnn; connetionString = @"Data Source=WIN-50GP30FGO75;Initial Catalog=Demodb;User ID=sa;Password=demol23"; cnn = new SqlConnection(connetionString); cnn.Open(); MessageBox.Show("Connection Open !"); cnn.Close(); } } }
Объяснение кода: —
- Первым шагом является создание переменных, которые будут использоваться для создания строки подключения и подключения к базе данных SQL Server.
- Следующим шагом является создание строки подключения. Строка подключения должна быть правильно указана для C #, чтобы понять строку подключения. Строка подключения состоит из следующих частей
- Источник данных — это имя сервера, на котором находится база данных. В нашем случае он находится на машине под названием WIN-50GP30FGO75.
- Исходный каталог используется для указания имени базы данных
- UserID и Password — это учетные данные, необходимые для подключения к базе данных.
- Далее мы присваиваем соединительную строку переменной cnn. Переменная cnn типа SqlConnection используется для установления соединения с базой данных.
- Далее мы используем метод Open переменной cnn, чтобы открыть соединение с базой данных. Затем мы просто отображаем сообщение пользователю, что соединение установлено.
- После успешного завершения операции мы закрываем соединение с базой данных. Рекомендуется всегда закрывать соединение с базой данных, если в базе данных больше ничего не требуется.
Когда указанный выше код установлен и проект выполняется с использованием Visual Studio, вы получите следующий вывод. Когда форма отобразится, нажмите кнопку «Подключиться».
Вывод:-
Когда вы нажмете кнопку «Соединить», из вывода вы увидите, что соединение с базой данных установлено. Следовательно, окно сообщения было отображено.
Доступ к данным с помощью SqlDataReader
Чтобы продемонстрировать, как к данным можно получить доступ с помощью C #, давайте предположим, что в нашей базе данных есть следующие артефакты.
- Стол под названием demotb. Эта таблица будет использоваться для хранения идентификатора и названий различных учебных пособий.
- Таблица будет иметь 2 столбца, один из которых называется «TutorialID», а другой — «TutorialName».
- На данный момент таблица будет иметь 2 строки, как показано ниже.
TutorialID |
TutorialName |
1 |
C # |
2 |
ASP.Net |
Давайте изменим код в нашей форме, чтобы мы могли запрашивать эти данные и отображать информацию через окно сообщений. Обратите внимание, что весь код, введенный ниже, является продолжением кода, написанного для подключения к данным в предыдущем разделе.
Шаг 1) Давайте разделим код на 2 части, чтобы его было легко понять пользователю.
- Первым будет построение нашего оператора «select», который будет использоваться для чтения данных из базы данных.
- Затем мы выполним оператор «select» для базы данных и извлечем все строки таблицы соответственно.
Объяснение кода: —
- Первым шагом является создание следующих переменных
- SQLCommand — SQLCommand — это класс, определенный в C #. Этот класс используется для выполнения операций чтения и записи в базу данных. Следовательно, первый шаг — убедиться, что мы создали тип переменной этого класса. Затем эта переменная будет использоваться на последующих этапах чтения данных из нашей базы данных.
- Объект DataReader используется для получения всех данных, указанных в запросе SQL. Затем мы можем прочитать все строки таблицы одну за другой, используя средство чтения данных.
- Затем мы определяем 2 строковые переменные, одна из которых «SQL» для хранения командной строки SQL. Следующим является «Выход», который будет содержать все значения таблицы.
- Следующим шагом является определение оператора SQL, который будет использоваться в нашей базе данных. В нашем случае это «Выберите TutorialID, TutorialName из demotb». Это извлечет все строки из таблицы demotb.
- Затем мы создаем объект команды, который используется для выполнения оператора SQL для базы данных. В команде SQL вы должны передать объект соединения и строку SQL.
- Далее мы выполним команду чтения данных, которая извлечет все строки из таблицы demotb.
- Теперь, когда у нас есть все строки таблицы, нам нужен механизм для доступа к строке по одной. Для этого мы будем использовать оператор while. Оператор while будет использоваться для доступа к строкам из устройства чтения данных по одной за раз. Затем мы используем метод GetValue для получения значений TutorialID и TutorialName.
Шаг 2) На последнем шаге мы просто отобразим вывод для пользователя и закроем все объекты, связанные с работой базы данных.
Объяснение кода: —
- Мы продолжим наш код, отображая значение переменной Output с помощью MessageBox. Выходная переменная будет содержать все значения из таблицы demotb.
- Наконец мы закрываем все объекты, связанные с нашей базой данных. Помните, что это всегда хорошая практика.
Когда приведенный выше код установлен и проект запущен с использованием Visual Studio, вы получите следующий вывод. Когда форма отобразится, нажмите кнопку «Подключиться».
Вывод:-
Из вывода вы можете ясно увидеть, что программа смогла получить значения из базы данных. Затем данные отображаются в окне сообщения.
C # Вставить в базу данных
Как и при доступе к данным, C # также имеет возможность вставлять записи в базу данных. Чтобы продемонстрировать, как вставить записи в нашу базу данных, давайте возьмем ту же структуру таблицы, которая использовалась выше.
TutorialID |
TutorialName |
1 |
C # |
2 |
ASP.Net |
Давайте изменим код в нашей форме, чтобы мы могли вставить следующую строку в таблицу
TutorialID |
TutorialName |
3 |
VB.Net |
Итак, давайте добавим следующий код в нашу программу. Приведенный ниже фрагмент кода будет использоваться для вставки существующей записи в нашу базу данных.
Объяснение кода: —
- Первым шагом является создание следующих переменных
- SQLCommand — этот тип данных используется для определения объектов, которые используются для выполнения операций SQL с базой данных. Этот объект будет содержать команду SQL, которая будет работать с нашей базой данных SQL Server.
- Объект DataAdapter используется для выполнения определенных операций SQL, таких как команды вставки, удаления и обновления.
- Затем мы определяем строковую переменную, которая является «SQL» для хранения нашей командной строки SQL.
- Следующим шагом является определение оператора SQL, который будет использоваться в нашей базе данных. В нашем случае мы выдаем оператор вставки, который вставит запись TutorialID = 1 и TutorialName = VB.Net
- Затем мы создаем объект команды, который используется для выполнения оператора SQL для базы данных. В команде SQL вы должны передать объект соединения и строку SQL
- В нашей команде адаптера данных мы теперь связываем команду вставки SQL с нашим адаптером. Затем мы также запускаем метод ExecuteNonQuery, который используется для выполнения оператора Insert для нашей базы данных. Метод ExecuteNonQuery используется в C # для выдачи любых операторов DML для базы данных. Под операторами DML мы подразумеваем операцию вставки, удаления и обновления. В C #, если вы хотите выполнить какой-либо из этих операторов для таблицы, вам нужно использовать метод ExecuteNonQuery.
- Наконец мы закрываем все объекты, связанные с нашей базой данных. Помните, что это всегда хорошая практика.
Когда указанный выше код установлен и проект выполняется с использованием Visual Studio, вы получите следующий вывод. Когда форма отобразится, нажмите кнопку «Подключиться».
Вывод:-
Если вы зайдете в SQL Server Express и увидите строки в таблице demotb, вы увидите вставленную строку, как показано ниже
C # Обновление базы данных
Как и при доступе к данным, C # также имеет возможность обновлять существующие записи из базы данных. Чтобы продемонстрировать, как обновить записи в нашей базе данных, давайте возьмем ту же структуру таблицы, которая использовалась выше.
TutorialID |
TutorialName |
1 |
C # |
2 |
ASP.Net |
3 |
VB.Net |
Давайте изменим код в нашей форме, чтобы мы могли обновить следующую строку. Старым значением строки является TutorialID как «3» и Tutorial Name как «VB.Net». Мы обновим его до «VB.Net complete», в то время как значение строки для идентификатора Tutorial ID останется прежним.
Старый ряд
TutorialID |
TutorialName |
3 |
VB.Net |
Новый ряд
TutorialID |
TutorialName |
3 |
VB.Net завершен |
Итак, давайте добавим следующий код в нашу программу. Приведенный ниже фрагмент кода будет использоваться для обновления существующей записи в нашей базе данных.
Объяснение кода: —
- Первым шагом является создание следующих переменных
- SQLCommand — этот тип данных используется для определения объектов, которые используются для выполнения операций SQL с базой данных. Этот объект будет содержать команду SQL, которая будет работать с нашей базой данных SQL Server.
- Объект dataadapter используется для выполнения определенных операций SQL, таких как команды вставки, удаления и обновления.
- Затем мы определяем строковую переменную, которая является SQL для хранения нашей командной строки SQL.
- Следующим шагом является определение оператора SQL, который будет использоваться в нашей базе данных. В нашем случае мы выполняем оператор обновления, это обновит имя Tutorial до «VB.Net Complete», в то время как TutorialID неизменен и будет иметь значение 3.
- Далее мы создадим объект команды, который используется для выполнения оператора SQL для базы данных. В команде SQL вы передали объект подключения и строку SQL.
- В нашей команде адаптера данных мы теперь связываем команду вставки SQL с нашим адаптером. Затем мы также запускаем метод ExecuteNonQuery, который используется для выполнения оператора Update для нашей базы данных.
- Наконец мы закрываем все объекты, связанные с нашей базой данных. Помните, что это всегда хорошая практика.
Когда указанный выше код установлен и проект выполняется с использованием Visual Studio, вы получите следующий вывод. Когда форма отобразится, нажмите кнопку «Подключиться».
Вывод:-
Если вы действительно зайдете в SQL Server Express и увидите строки в таблице demotb, вы увидите, что строка была успешно обновлена, как показано ниже.
Удаление записей
Как и при доступе к данным, C # также имеет возможность удалять существующие записи из базы данных. Чтобы продемонстрировать, как удалять записи в нашей базе данных, давайте возьмем ту же структуру таблицы, которая использовалась выше.
TutorialID |
TutorialName |
1 |
C # |
2 |
ASP.Net |
3 |
VB.Net завершен |
Давайте изменим код в нашей форме, чтобы мы могли удалить следующую строку
TutorialID |
TutorialName |
3 |
VB.Net завершен |
Итак, давайте добавим следующий код в нашу программу. Приведенный ниже фрагмент кода будет использоваться для удаления существующей записи в нашей базе данных.
Объяснение кода: —
- Основное различие в этом коде состоит в том, что мы сейчас выполняем оператор удаления SQL. Оператор delete используется для удаления строки в таблице demotb, в которой TutorialID имеет значение 3.
- В нашей команде адаптера данных мы теперь связываем команду вставки SQL с нашим адаптером. Затем мы также запускаем метод ExecuteNonQuery, который используется для выполнения оператора Delete в нашей базе данных.
Когда указанный выше код установлен и проект выполняется с использованием Visual Studio, вы получите следующий вывод. Когда форма отобразится, нажмите кнопку «Подключиться».
Вывод:-
Если вы действительно зайдете в SQL Server Express и увидите строки в таблице demotb, вы увидите, что строка была успешно удалена, как показано ниже.
Подключение элементов управления к данным
В предыдущих разделах мы видели, как мы можем использовать команды C #, такие как SQLCommand и SQLReader, для извлечения данных из базы данных. Мы также увидели, как мы читаем каждую строку таблицы и используем окно сообщения для отображения содержимого таблицы пользователю.
Но очевидно, что пользователи не хотят видеть данные, отправленные через окна сообщений, и хотели бы, чтобы улучшенные элементы управления отображали данные. Давайте возьмем приведенную ниже структуру данных в таблице
TutorialID |
TutorialName |
1 |
C # |
2 |
ASP.Net |
3 |
VB.Net завершен |
Из приведенной выше структуры данных пользователь в идеале хотел бы видеть TutorialID и Tutorial Name, отображаемые в текстовом поле. Во-вторых, им может потребоваться какой-то элемент управления кнопками, который позволит им перейти к следующей записи или предыдущей записи в таблице. Это потребует немного дополнительного кодирования со стороны разработчика.
Хорошей новостью является то, что C # может сократить дополнительные усилия по написанию кода, позволяя привязывать элементы управления к данным. Это означает, что C # может автоматически заполнять значение текстового поля согласно определенному полю таблицы.
Таким образом, вы можете иметь 2 текстовых поля в форме окна. Затем вы можете связать одно текстовое поле с полем TutorialID, а другое текстовое поле с полем TutorialName. Это связывание выполняется в самом конструкторе Visual Studio, и вам не нужно писать для этого дополнительный код.
Visual Studio гарантирует, что она напишет код для вас, чтобы убедиться, что связь работает. Затем при запуске приложения элементы управления текстовым полем автоматически подключаются к базе данных, извлекают данные и отображают их в элементах управления текстового поля. Никакого кодирования не требуется со стороны разработчика, чтобы достичь этого.
Давайте посмотрим на пример кода того, как мы можем добиться привязки элементов управления.
В нашем примере мы собираемся создать 2 текстовых поля в форме окна. Они будут представлять идентификатор учебника и название учебника соответственно. Они будут связаны с полями Tutorial ID и TutorialName базы данных соответственно.
Давайте выполните следующие шаги для достижения этой цели.
Шаг 1) Постройте основную форму. В форме перетащите 2 компонента — метки и текстовые поля. Затем выполните следующие шаги
- Поместите текстовое значение первой метки как TutorialID
- Поместите текстовое значение второй метки как TutorialName
- Поместите свойство name первого текстового поля как txtID
- Поместите свойство name второго текстового поля как txtName
Ниже показано, как будет выглядеть форма после выполнения вышеупомянутых шагов.
Шаг 2) Следующим шагом является добавление обязательного навигатора в форму. Связывающий элемент управления Navigator может автоматически перемещаться по каждой строке таблицы. Чтобы добавить навигатор привязки, просто перейдите на панель инструментов и перетащите его на форму.
Шаг 3) Следующий шаг — добавить привязку к нашей базе данных. Это можно сделать, перейдя к любому элементу управления Textbox и щелкнув свойство DataBindings-> Text. Навигатор привязки используется для установления связи между вашим приложением и базой данных.
При выполнении этого шага Visual Studio автоматически добавит необходимый код в приложение, чтобы убедиться, что приложение связано с базой данных. Обычно база данных в Visual Studio называется источником данных проекта. Таким образом, чтобы убедиться, что между приложением и базой данных установлена связь, первым шагом является создание источника данных проекта.
Появится следующий экран. Нажмите на ссылку «Добавить источник данных проекта». Когда вы щелкнете по источнику данных проекта, вы увидите мастера; это позволит вам определить соединение с базой данных.
Шаг 4) Как только вы нажмете на ссылку «Добавить источник данных проекта», вы увидите мастер, который будет использоваться для создания соединения с базой данных demotb. Следующие шаги подробно показывают, что необходимо настроить на каждом шаге мастера.
- На появившемся экране выберите тип источника данных в качестве базы данных и нажмите кнопку «Далее».
- На следующем экране вам нужно начать создание строки подключения к базе данных. Строка подключения требуется, чтобы приложение установило соединение с базой данных. Он содержит такие параметры, как имя сервера, имя базы данных и имя драйвера.
- Нажмите на кнопку Новое соединение
- Выберите источник данных как Microsoft SQL Server
- Нажмите кнопку Продолжить.
- Далее необходимо добавить учетные данные для подключения к базе данных
- Выберите имя сервера, на котором находится SQL Server
- Введите идентификатор пользователя и пароль для подключения к базе данных
- Выберите базу данных как demotb
- Нажмите кнопку «ОК».
- На этом экране мы подтвердим все настройки, которые были перенесены на предыдущие экраны.
- Выберите опцию «Да», чтобы включить конфиденциальные данные в строку подключения
- Нажмите на кнопку «Далее».
- На следующем экране нажмите кнопку «Далее», чтобы подтвердить создание строки подключения.
- На этом этапе
- Выберите таблицы Demotb, которые будут показаны на следующем экране.
- Эта таблица теперь станет доступным источником данных в проекте C #
Когда вы нажимаете кнопку Готово, Visual Studio теперь гарантирует, что приложение может запросить все строки в таблице Demotb.
Шаг 5) Теперь, когда источник данных определен, нам нужно подключить текстовое поле TutorialID и TutorialName к таблице demotb. Если щелкнуть свойство Text в текстовом поле TutorialID или TutorialName, вы увидите, что источник привязки к Demotb доступен.
Для первого текстового поля выберите идентификатор учебника. Повторите этот шаг для второго текстового поля и выберите поле TutorialName. Следующие шаги показывают, как мы можем перейти к каждому элементу управления и соответственно изменить привязку.
- Нажмите на элемент управления Tutorial ID.
- В окне Свойства вы увидите свойства текстового поля TutorialID. Перейдите к свойству text и нажмите кнопку со стрелкой вниз.
- Когда вы нажмете кнопку со стрелкой вниз, вы увидите опцию demotbBinding Source. И при этом вы увидите опции TutorialName и TutorialID. Выберите идентификатор учебника один.
Повторите вышеупомянутые 3 шага для текстового поля Tutorial Name.
- Итак, нажмите на текстовое поле Tutorial Name
- Перейти в окно свойств
- Выберите свойство Текст
- Выберите опцию TutorialName под demotbBindingSource
Шаг 6) Затем нам нужно изменить свойство Binding Source объекта BindingNavigator, чтобы оно указывало на наш источник данных Demotb. Причина, по которой мы это делаем, заключается в том, что Binding Navigator также должен знать, к какой таблице он должен обращаться.
Навигатор привязки используется для выбора следующей или предыдущей записи в таблице. Таким образом, несмотря на то, что источник данных добавляется в проект в целом и в элемент управления текстовым полем, нам все равно нужно убедиться, что Binding Navigator также имеет ссылку на наш источник данных. Для этого нам нужно щелкнуть объект навигатора Binding, перейти к свойству Binding Source и выбрать тот, который доступен
Далее нам нужно перейти в окно «Свойства», чтобы мы могли изменить свойство Binding Source.
Когда все вышеперечисленные шаги будут выполнены успешно, вы получите нижеследующий вывод.
Вывод:-
Теперь, когда проект запущен, вы можете видеть, что текстовые поля автоматически получают значения из таблицы.
Когда вы нажимаете кнопку «Далее» в навигаторе, он автоматически переходит к следующей записи в таблице. И значения следующей записи автоматически приходят в текстовые поля
C # DataGridView
Сетки данных используются для отображения данных из таблицы в виде сетки. Когда пользователь видит данные таблицы, он обычно предпочитает видеть все строки таблицы за один раз. Это может быть достигнуто, если мы можем отобразить данные в виде сетки в форме.
C # и Visual Studio имеют встроенные сетки данных, это можно использовать для отображения данных. Давайте посмотрим на пример этого. В нашем примере у нас будет сетка данных, которая будет использоваться для отображения значений идентификатора учебника и имени учебника из таблицы demotb.
Шаг 1) Перетащите элемент управления DataGridView из панели инструментов в форму в Visual Studio. Элемент управления DataGridView используется в Visual Studio для отображения строк таблицы в виде сетки.
Шаг 2) На следующем шаге нам нужно подключить нашу сетку данных к базе данных. В последнем разделе мы создали источник данных проекта. Давайте использовать тот же источник данных в нашем примере.
- Сначала вам нужно выбрать сетку и нажать на стрелку в сетке. Это откроет параметры конфигурации сетки.
- В параметрах конфигурации просто выберите источник данных как demotbBindingSource, который был источником данных, созданным в предыдущем разделе.
Если все вышеперечисленные шаги выполняются, как показано, вы получите нижеупомянутый вывод.
Вывод:-
Из вывода видно, что сетка была заполнена значениями из базы данных.
Резюме
- C # может работать с базами данных, такими как Oracle и Microsoft SQL Server.
- В C # есть все команды, необходимые для работы с базами данных. Это предполагает установление соединения с базой данных. Вы можете выполнять такие операции, как выбор, обновление, вставка и удаление, используя команды в C #.
- Объект DataReader в C # используется для хранения всех данных, возвращаемых базой данных. Цикл while в C # может использоваться для чтения строк данных по одной за раз.
- Объект адаптера данных используется для выполнения операций SQL, таких как вставка, удаление и обновление базы данных.
- C # может связывать элементы управления с различными полями в таблице. Они связаны определением источника данных в C #. Источник данных используется для извлечения данных из базы данных и заполнения их в элементах управления.
- Навигатор привязки используется для автоматической навигации по строкам таблицы.
- Сетка данных в C # может подключаться к базе данных и отображать все значения из таблицы в виде сетки.