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

Выполнить запрос SQL по нажатию кнопки

02.11.2012, 07:12. Показов 29337. Ответов 13
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго времени суток, уважаемые форумчане !
такая проблема. я написал запрос SQL. нужно что бы при нажатии на кнопку в форме, созданной в VS c# выполнялся этот запрос.
подскажите, плз, как это реализовать ?

Добавлено через 2 часа 48 минут
и такая тема.
можно ли результат запроса присвоить переменной, а потом столбцу ДатаГридВью присвоить значение переменной ?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
02.11.2012, 07:12
Ответы с готовыми решениями:

Выполнить скрипт sql по нажатию кнопки
Здраствуйте. У меня имеется много скриптов sql примерно такого типа . Подскажите как сделать так, чтобы при нажатии кнопки в C# этот скрипт...

SQL Выборка из 2-х таблиц по нажатию кнопки и отображению в GridView
Всем здравствуйте! Подскажите пожалуйста как сделать выборку из 2х таблиц по нажатию кнопки и отображению в гридвюв (работаю в...

SQL выполнить запрос INSERT INTO
Добрый вечер! прошу подсказать с запросом SQL на добавления. У меня имеются на форме текстовое поле(textBox1) и поля со...

13
0 / 0 / 0
Регистрация: 18.09.2012
Сообщений: 69
09.11.2012, 10:41  [ТС]
никто не знает ? )
0
Эксперт .NET
 Аватар для kolorotur
17823 / 12973 / 3382
Регистрация: 17.09.2011
Сообщений: 21,261
09.11.2012, 10:49
Доброго времени года, уважаемый Lionforever!
SQL запрос можно выполнить массой различных способов.
Вот самый простой и один из наиболее низкоуровневых:

C#
1
2
3
4
5
6
string connectionString = "....."; // Строка соединения
using (var conn = new SqlConnection(connectionString))
{
   var cmd = new SqlCommand("SELECT blablabla FROM lalala WHERE tatata", conn);
   var reader = cmd.ExecuteReader();
}
2
 Аватар для C17H19NO3
218 / 212 / 63
Регистрация: 17.04.2012
Сообщений: 382
09.11.2012, 11:13
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
string conString = "//строка подключения";
 
        private void Scalar()
        {
            SqlConnection con = new SqlConnection(conString);
            SqlCommand cmd = new SqlCommand();
            cmd.Connection = con;
            con.Open();
            cmd.CommandType = CommandType.Text;
            cmd.CommandText = "INSERT INTO table1(column1, column2) VALUES (valu1, value2)";
            //возвращает первую ячейку вашего SQL запроса.
            label1.Text = cmd.ExecuteScalar().ToString();
            con.Close();
        }
 
        private void Reader()
        {
            int i = 0;
           
            SqlConnection con = new SqlConnection(conString);
            SqlCommand cmd = new SqlCommand();
            cmd.Connection = con;
            con.Open();
            cmd.CommandType = CommandType.Text;
            cmd.CommandText = "SELECT * FROM table1";
            SqlDataReader rd = cmd.ExecuteReader();
            while (rd.Read())
            {
                dataGridView1.Rows[i].Cells[0].Value = rd[0].ToString();
                і++;
            }
             rd.Close();
            con.Close();
        }
 
 
        //заполняет дата тейбл. 
        private DataTable Grid()
        {
            DataTable dt = new DataTable();
            SqlConnection con = new SqlConnection(conString);
            string commandText = "SELECT * FROM table1";
            con.Open();
            SqlDataAdapter adapter = new SqlDataAdapter(commandText, con);
            adapter.Fill(dt);
            con.Close();
            return dt;
        }
 
        private void button1_Click(object sender, EventArgs e)
        {
            //отображения даніх с дата тейбл в датагрид.
            dataGridView1.DataSource = Grid();
 
            //заполнение первой колонки гради, значениями из первой колонки SQL запрос
            Reader();
        }
1
0 / 0 / 0
Регистрация: 18.09.2012
Сообщений: 69
12.11.2012, 05:38  [ТС]
kolorotur, C17H19NO3, шикарно, благодарю !!!

Добавлено через 24 минуты
единственное, не совсем понятно, что значит эта строка ?
C#
1
cmd.CommandText = "INSERT INTO table1(column1, column2) VALUES (valu1, value2)";
0
 Аватар для C17H19NO3
218 / 212 / 63
Регистрация: 17.04.2012
Сообщений: 382
12.11.2012, 10:08
извините, это я немного не правильно написал, не обратил внимание на запрос.

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
private void Scalar()
        {
            SqlConnection con = new SqlConnection(conString);
            SqlCommand cmd = new SqlCommand();
            cmd.Connection = con;
            con.Open();
            cmd.CommandType = CommandType.Text;
            cmd.CommandText = "SELECT * FROM Table1";
            //возвращает первую ячейку вашего SQL запроса.
            label1.Text = cmd.ExecuteScalar().ToString();
            con.Close();
        }
 
private void NonQuery()
        {
            SqlConnection con = new SqlConnection(conString);
            SqlCommand cmd = new SqlCommand();
            cmd.Connection = con;
            con.Open();
            cmd.CommandType = CommandType.Text;
            // вставить значения в таблицу базы
            cmd.CommandText = "INSERT INTO table1(column1, column2) VALUES (valu1, value2)";
            //выполнения запроса без возвращения значения. То есть вызывается только для выполнения запроса 
            cmd.ExecuteNonQuery();
            con.Close();
        }
0
7 / 7 / 8
Регистрация: 11.04.2012
Сообщений: 87
12.11.2012, 12:57
cmd.CommandText - текст запроса в БД.

Запрос INSERT используется для создания новой строки данных.

Примерный синтаксис запроса INSERT:

SQL
1
INSERT INTO TABLE_NAME (column1, column2, column3) VALUES (‘data1’, ‘data2’, ‘data3’);
table_name - имя таблицы
column1, column2, column3 - название колонок в таблице
‘data1’, ‘data2’, ‘data3’ - значения

Если вы собираетесь вставлять все значения в порядке, в котором находятся столбцы таблицы, то можно и не указывать имена столбцов, хотя для удобочитаемости это предпочтительнее. Кроме того, если вы перечисляете столбцы, необязательно указывать их по порядку нахождения в базе данных, пока значения, которые вы вводите, соответсвуют этому порядку. Вы не должны перечислять столбцы, в которые не вводится информация.
0
0 / 0 / 0
Регистрация: 18.09.2012
Сообщений: 69
13.11.2012, 11:00  [ТС]
То есть если я вывожу из БД в ДГВ :
Фамилия Имя Отчество
то запрос на инто тейбл будет :
SQL
1
INSERT INTO TABLE1 (f, n, o) VALUES (‘data1’, ‘data2’, ‘data3’)
Добавлено через 1 минуту
а VALUES - это то что я вставляю, но инфу я ведь беру запросом из БД, то есть у меня VALUES нет в запросе ?
0
Эксперт Java
 Аватар для turbanoff
4094 / 3828 / 745
Регистрация: 18.05.2010
Сообщений: 9,331
Записей в блоге: 12
13.11.2012, 12:03
Lionforever, как вы хотите работать с базой, если вы даже основ SQL не знаете?
Изучите хотя бы основные SQL-команды.

insert служит для добавления строк в таблицу.
Непонятно зачем C17H19NO3 их привел тут, когда вы об этом не спрашивали. Но суть не в этом.
0
0 / 0 / 0
Регистрация: 18.09.2012
Сообщений: 69
14.11.2012, 03:46  [ТС]
Спасибо, я знаю что такое Insert. и я знаю что значит запрос - было, делал. непонятно только какие данные вставлять в Values если инфу беру из БД, а не ввожу запросами ручками
0
9 / 9 / 4
Регистрация: 18.10.2012
Сообщений: 48
14.11.2012, 09:05
Ту инфу что берешь из бд присваиваешь переменной и добавляешь в запрос:
Допустим необходима инфа находится в текстбоксе:
C#
1
cmd.CommandText = "INSERT INTO table1(column1, column2) VALUES ('" + textBox1.Text + "'" + ", value2)";
Или выполняешь запрос с параметром:
C#
1
2
 cmdInsert.Parameters["@Insert"].Value = textBox1.Text;
                    cmdInsert.ExecuteNonQuery();
где cmdInsert это Comand
2
0 / 0 / 0
Регистрация: 18.09.2012
Сообщений: 69
15.11.2012, 03:06  [ТС]
то есть в качестве значения value мы вставляем источник нашей инфы ? если текстбокс - то текстбокс, если дата грид то DataGridViewTextBoxColumn итд ?
а тогда column1 - это то, куда мы ее вставляем ?
спасибо !
0
0 / 0 / 0
Регистрация: 18.11.2013
Сообщений: 6
20.11.2013, 14:11
Что за cmd.CommandText и cmdInsert, для них подключать что-то требуется?
0
9 / 9 / 4
Регистрация: 18.10.2012
Сообщений: 48
21.11.2013, 08:22
cmd и cmdInsert это переменные для команд типа OleDbCommand, SqlCommand и тд. тобишь SqlCommand cmd = new SqlComand(); SqlCommand cmdInsert = new SqlCommand();
а cmd.CommandText - это указание на команду
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
21.11.2013, 08:22
Помогаю со студенческими работами здесь

Выполнить запрос из файла .sql
Здравствуйте! У меня есть файл .SQL(запросы на заполнение таблицы) и мне нужно этот SQL-Запрос выполнить в Visual Studio для .SDF базы...

Как выполнить простой SELECT запрос с помощью Linq to SQL?
class Program { static SqlConnection conn; static void Main(string args) { try ...

Есть ли шаблон по которому можно выполнить любой SQL запрос?
подскажите есть ли шаблон по которому можно выполнить любой SQL запрос.... К примеру в этой коде MySqlCommand cmdSel = new...

Выполнить SQL запрос по нажатию кнопки
Здравствуйте!!! Подскажите как на Vbasic при нажатии кнопки, выполнить SQL запрос?

Форма- Выполнить SQL запрос по нажатию кнопки
Привет. Помогите, пожалуйста. Пытаюсь сделать форму, в которой надо самому писать код SQL и тут возникла проблема - как правильно...


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

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru