Visual Studio + Access. Выполнение SQL-запросов INSERT INTO, DELETE, UPDATE. Работа с базой данных
Вставка
- Опубліковано 26 лют 2020
- ▶️Практическая работа №7 - Выполнение операций с данными, используя SQL-запросы в Visual Studio◀️
Вы научитесь использовать SQL-запросы на добавление (INSERT INTO), удаление (DELETE) и обновление данных (UPDATE) в приложении Visaul Studio с подключенной базой данных, созданной в Access.
✔️ Посмотрите Практическую работу №6 - Подключение базы данных к приложению Visual Studio: • Подключение базы данны...
🔥Ссылка на плей-лист со всеми практическими работами по Visual Studio: • Изучаем Visual Studio ...
Автор, ты лучший! Объяснил максимально понятно, на всём UA-cam таких, как ты - единицы! Огромное спасибо!
Очень приятно! Спасибо
Автор, огромное спасибо, очень содержательно и понятно всё объяснили!!!
Рад, что вам оказалось полезным!
Здраствуйте!
Благодаря вам, я смог путём разобраться с этим, так как у нас в институте не очень хорошо все это раскрывают, но благодаря вашему видео смог сделать свою курсовую работу, где нужно было объединять программу с базой данных. Спасибо и здоровья вам!
Рад, что помог вам! Удачи!
Очень подробное видео. спасибо большое! Создала с авторизацией и добавила цветовые гаммы на кнопочки ^__^. Большое Вам спасибо за такое подробное объяснение!
Пожалуйста, всегда рад, если видео оказалось полезным!
Спасибо большое, очень полезное видео, объяснили и показали всё подробно и доходчиво, то , что было нужно!!!!
Рад помочь!
Пасибо большое, я уверен, что ещё не раз буду заглядывать сюда, чтобы пересмотреть как и что делается))
Рад, что видео оказалось полезным!
Спасибо за помощь!
Спасибо тебе, добрый человек!
Рад помочь, лучшая благодарность от вас - это лайк и подписка!
Очень помогли, спасибо)
Всегда рад помочь!
Большой респект за видео, очень подробно и ясно всё объяснено. Огромное спасибо за контент, полезная вещь для обучения)
Рад помочь, спасибо за отзыв, приятно!
@@megamozgchanel динах
@@ot1genbeats88 ???
Спасибо за видео, очень помогло.
Рад помочь!
Наикрутейшее видео
Сделайте видео о работе с связанными таблицами и выпадающими списками в полях таблицы
Допустим выпадающий список берётся из другой таблицы
Ок, принято! Постараюсь в ближайшее время сделать!
Огромное спасибо!
Рад помочь!
Отличное видео ! У меня все получилось!
Рад, что смог помочь и видео понятно не только мне!!)
Спасибо тебе, я курсовую на 4 сдал благодаря тебе)
Отлично, лучшая благодарность, это подписка и лайк, еще будут полезные видео!
@@megamozgchanel Подписался)
Большое спасибо. Почти все что нужно для защиты лаб. Жаль вычислений нет и вывода на печать. А так супер
Рад помочь, лучшая благодарность от вас - это лайк и подписка!
Класно.. разобрался .. спасибо.. еще бо по тсп сервер/клиент.. и ваще супер будет )
Да как-то надо сделать, времени нет!
спасибо, как раз проект был на эту тему)
Рад помочь!
Лучшая благодарность от вас - это лайк и подписка!
Это отличный урок! Спасибо!
Есть парочка вопросов:
1. Если вводишь в первый столбец значение, уже присутствующее в таблице, как оповестить пользователя об ошибке ввода, чтобы не перебрасывало на страницу кода.
2. Как поставить автоматическое обновление таблицы на кнопку "Закрыть" второй формы? Чтобы не тыкать постоянно на "Обновить данные".
Чтобы решить вторую проблему, то вам нужно создать событие на закрытие второй форм FormClosing( Для этого можно в конструкторе нажать на молнию справа свойств формы и найти FormClosin, нажать по ней дабл кликом ), после чего внести туда код обновления таблицы
//WPF// Как сделать обновление информации в таблице после ввода новых данных?
Большой рахмет
Рад помочь!
Зачет!!!! Учился на программиста, но судьба увела в другую сторону. Щас в период пандемии приходится вспоминать старые азы ))) Мозги проснулись, Спасибо!!!
Рад помочь! Лучшая благодарность - это лайк и подписка на канал!
@@megamozgchanel я бы еще поставил на нажатие кнопки if (textBox1.Text == string.Empty)
return;
потому что если поле пустое прога вылетает в ошибку как то так ))
или так нагляднее для простого пользователя
if (textBox1.Text == string.Empty)
{
MessageBox.Show("Введите значение в поле !");
return;
}
Очень интересно
Понравились твои видео, было бы интересно увидеть полноценный проект на си шарпе. Вот например: человек заходит в программу и видит список врачей которые могут принять вызов, он выбирает врача и назначает время, после этого врачу приходит оповещение о том что ему написал человек,в этом оповещении отображается текст и время которое ввел человек.Врач может отклонить или принять этот запрос,если он примет запрос от у них откроется чат.
Для данного приложения не подойдёт Access, необходимо Mysql. А так возможно реализовать конечно же.
лучший
Спасибо! Приятно! Но еще лучшая благодарность - это подписка на канал и лайк видео!
Автор ты красавчик!!! Грамотно объяснил! Ещё бы функцию поиска здесь реализовать было бы супер!
Спасибо за отзыв. Функцию поиска можно реализовать с помощью запроса SELECT, смотрите другое видео из плейлиста на моем канале.
Спасибо большое!!!
Успехов Вам в ваших начинаниях!!!
@@user-qn4ih3ck9v спасибо
@@megamozgchanel Сможете помочь плизз у меня выдаёт кучу ошибок чёт я сделал в начале не правильно! Если Вам не трудно конечно же! 🙏🙏🙏
Спасибо большое! Если в БД Access есть поле с объектом OLE как можно вывести это на форму?
Обязательно покажу это в одном из следующих видео.
Бля чувак ти мені так поміг. Хай Бог дасть тобі здоров'я на многії літа.
Пожалуйста! Лучшая благодарность от вас - это лайк и подписка на канал!
System.ArgumentException: "Формат строки инициализации не соответствует спецификации, начиная с индекса 0. ЧТО ДЕЛАТЬ?
Хотелось бы узнать как можно сделать кнопку с запросом например "показать вещи стоимостью больше 500 рублей"
Смотрите следующее видео в плейлисте. Там я показываю, как сделать подобное
Супер!!!!
Спасибо !
Спасибо за видео, вопрос возник, у меня не обновляется таблица, хотя делал все как по видео, с чем это еще может быть связано? Визуалка 22 года
Без кода трудно что-то сказать. Возможно не все как в видео. Связь с БД есть? Считывает данные?
Извините, ещё вопрос: я программирую на Delphi, там всё просто, создал дата модуль накидал туда DataSours-ов, подключил их к БД и обращаюсь к ним из каждой формы и не напрягаюсь по поводу бесконечных созданий объектов, почему так все сложно в С# ? Просто я хочу понять = зачем изобретать велосипед в каждой форме? Спросите, зачем перехожу на C#? Желание развиваться. Мне сказали что C# сейчас самыq продвинутый язык. Ну может не конкретно C#, а Visual Studio/
Visual studio это не язык программирования. Но не суть, я не супер мега программист, возможно, есть более простой способ для связи формы с БД, но я его подсказать вам не могу. Я делюсь только своими знаниями и опытом.
супер
Здравствуйте, выдает вот такую ошибку:
System.FormatException: "Входная строка имела неверный формат."
в строке:
private void button1_Click(object sender, EventArgs e)
{
int sNp = Convert.ToInt32(textBox1.Text);
Все бы ничего, но это не однократная ошибка, которая появляется при добавлении записи в таблицу.
И еще хотелось бы узнать, когда выйдет видео по авторизации пользователя через бд. Спасибо
По вашей ошибке, возможно вы не верно используете типы данных, так как я не вижу весь код, сказать трудно. Видео сделаю в ближайшую неделю, спасибо за указание потребности.
Подскажите пожалуйста (System.Data.OleDb.OleDbException: "Отсутствует значение для одного или нескольких требуемых параметров.")
Не все параметры указали для функции, посмотрите синтаксис, что необходимо подать в функцию.
у меня вот такая проблема когда я удаляю сотрудника, подскажите пожалуйста как ее решить "System.Data.OleDb.OleDbException: "Ошибочная инструкция SQL; предполагалось 'DELETE', 'INSERT', 'PROCEDURE', 'SELECT' или 'UPDATE'."
"
это в строчке "command.ExecuteNonQuery();"
Скорее всего синтаксическая ошибка. Проверьте код, возможно опечатки.
Привет. Можешь пожалуйста подсказать А как сделать тот же самый UPDATE запрос с типом данных string(короткий тескт)?
Все тоже самое, нет ни какой разницы, только про аппострофы не забывайте.
В вижуалке 22 версии подключение "аксессовской" б/д происходит аналогичным способом?
Еще не пробовал? скорее всего. Скоро буду пробовать.
У меня появился вопрос. Как можно проверить корректность введенного id при удалении сотрудника, т.е., если в случае введения id, которого нет в бд, выдавалась ошибка?
Сделать запрос на выборку и проверить сколько строк в результате выборки. Если количество = 1 значит он есть, иначе ошибка.
Спасибо за видеоролик! Очень помог! А подскажите пожалуйста, какой код нужно написать для изменения и сохранения данных. Например, я прямо в таблице при запуске хотел изменить какие то данные, и нажал на кнопку сохранить. Какой код нужен для кнопки?
Вы имеете в виду сразу в таблице на форме? И сразу много данных изменяете и чтобы они сохранялись с БД?
Лучшая благодарность - это подписка на канал и лайк!
Да
Как это можно сделать?
@@user-xs1rl3cj5y В комментарии невозможно это рассказать, извините.
Здравствуйте Автор Извините пожалуйста а если у меня в коде по кноке Удалить вылазит command.ExecuteNonQuery(); то что отсутствует значение для одного или нескольких параметров это нормально если нет то как можно исправить ?
Не верное количество аргументов для запроса, например, вы указали три поля, но подали два значения для добавления в эти три поля.
25:30
удаление
33:50 измение
Подскажите как можно сделать так чтобы при добавлении нового сотрудника не вводить свой код(id) для каждого сотрудника и вместо этого выполнялось автоинкрементация
В БД сделать ID поле как тип счетчик и тогда автоматом будет увеличиваться при добавлении новой записи
При запросе на добавление выдает ошибку. Подскажите, где у меня ошибка в запросе >> INSERT INTO Клиенты (ФИО клиента, [Номер телефона], [Возраст], [Код карты]) VALUES('" + Name + "'," + Number + "," + age + "," + kod +")";
Как минимум вижу ФИО клиента не в скобках
Здравствуйте, у меня такая проблема, когда я добавляю нового сотрудник оно у меня отабражаестся в начале таблицы. Например добавляю сотрудника с кодом12 то оно не отображается после 11го. А отображается самым первым. Надеюсь смогла донести проблему. Можете помочь с данной пробелмой?
Надо изменить сортировку, по умолчанию отображаются новые записи. Надо сортировать по нумерации ну или как вам надо
Спасибо за профессионализм подачи! Поскажите пожалуйста, какая существует команда или код на SQL-запрос INSERT, если тип данных float ?
Без разницы какой тип данных, все равно INSERT, просто разделителем может быть точка или запятая
@@megamozgchanel Здравствуйте! Извините, я наверное неправильно поставил вопрос.
Смотрите, когда ввожу целые числа в программу все работает корректно. Если ввожу данные с точкой или запятой, то получаю ошибку с ссылкой команду "sql.ExecuteNonQuery(); (Имя столбца или число предоставленных значений не соответствует определению таблицы). Какая в этом случае существует команда?
@@user-bl7ys1em5b скорее всего или переменная в коде или столбец в базе данных имеет тип данных отличный от вещественного числа
@@megamozgchanel Спасибо огромное за ответ!
С кодом и столбцами все нормально. Дело в том, что команда "sql.ExecuteNonQuery();" возращает целые числа. А какая команда возращает десятичные числа вопрос?
А поиск по таблице как делать не подскажите?
Смотрите следующее видео в плейлисте, там я показываю, как сделать запрос на выборку!
А можно узнать, полностью делал как сказано тут но при обновлении (ну у вас к примеру должности) выдает то что я вводил + перед этим еще добавляет "BRc=.BBc.Text", в чем может быть дело?
Здравствуйте. Текст запроса скорее всего написан не верно, напишите сюда, посмотрю.
@@megamozgchanel здравствуйте, уже все решил, по глупой ошибке забыл поставить ".Text" после названия textBox'a в код вот и выдавало этот набор букв перед текстом, а так спасибо - все работает, только у вас смог понять что и как работает в коде
Здравствуйте! Не могу нигде найти решения своей проблемы. Выполняю команду удаления, но не типа "счетчик", а "текст", но пишет, что OleDbException не обработано...я уже не знаю что поменять, помогите пожалуйста, могу расписать подробнее код
Код в студию!
При добавлении сотрудника выдаёт эту ошибку, хотя всё написано правильно:
System.Data.OleDb.OleDbException: "Ошибочная инструкция SQL; предполагалось 'DELETE', 'INSERT', 'PROCEDURE', 'SELECT' или 'UPDATE'."
Подскажите что делать?
Ну как и написано, видимо опечатка. Может ковычки лишние или нет скобок
у меня данные не удаляются из-за того что таблица связана как это исправить подскажите плиз срочно надо
Связана с чем? Посмотрите несколько видео в плейлисте, может найдете ответ, если нет, пишите!
Не подскажете, пожалуйста?
В строке
*command.ExecuteNonQuery();*
происходит ошибка.
"ExecuteNonQuery Требует открытого и доступного соединения. Текущее состояние соединения закрыто."
нужна строка для открытия соединения, или с самой бд что-то не так?
Скорее всего нет строки подключения и открытия БД для выполнения запроса.
@@megamozgchanel разобралась, спасибо
А в чём может быть проблема что в dataGridView отображается добавленная информация, а в БД Acceess она не обновляется.
У меня показано одно из решений в видео 27:15 ua-cam.com/video/hC1ZM0VQtvQ/v-deo.html
Здравствуйте, не работает обновление данных, с чем это может быть связано?
Причин может быть много, от не верно написанного запроса, до не верного подключения БД.
Здравствуйте, че та у меня не работает кнопка "обновить". Чтобы Смотреть новую таблицу,Мне приходится выйти от форм. Потом снова зайти.
Видимо, что-то сделали не по инструкции.
Подскажите пожалуйста) У меня при реализации удаления записи во-первых, данные в БД Access изменялись изначально без никаких изменений, которые вы делаете на видео, а во-вторых, данные не обновляются во время выполнения программы в форме даже после выполнения всех действий по видео.
Возможно не поменяли свойство для обновления данных.
Изменялись без изменений.... Это как?
@@megamozgchanel Я имел ввиду, что данные в Access изменялись изначально, даже без изменений свойства для обновления данных. Но это не столь критично.
----------------------
Основная проблема вот в чём, сама таблица в DataGridView почему то не обновляется, даже после добавления строки компонента tableAdapter.Fill
@@megamozgchanel Огромное спасибо за обратную связь, спасибо. Реализовал всё с помощью классов OleDbDataAdapter и DataSet)
@@user-er6ce4il7o отлично
Здравствуйте! Спасибо большое за ролик, действительно помогло. Но у меня тут одна ошибочка. Когда я удаляю запись, то оно удаляется лишь в Access, и не сразу( а после того как заново включишь программу) в с#. То есть прямо как у вас пока вы не добавили под мэссейдж бокс "this.сотрудникиTableAdapter........Сотрудники);". Я также сделала, но он все еще не работает. Что делать?
P.S. Спаси за ролик, с меня лайк и подписка
Не совсем понял. Вам надо добавить строку, которая будет обновлять таблицу на форме, после удаления. Как у меня в видео, только с именем вашей таблицы.
Друг вот у меня ошибка вылетает System.Data.OleDb.OleDbException: "Произошли ошибки во время выполнения многошаговой операции OLE DB. По возможности, проверьте значения всех состояний OLE DB. Работа не выполнена."
Не знаешь как ее убрать?
Несколько причин может быть и без кода удаленно трудно определить.
Помогите пожалуйста. Я переписал себе код программы с этого видео, но у меня постоянно вылетает странное исключение, которое у меня не получается исправить. Странно, ведь у меня все сделано как у автора видео, но в отличии от него, у меня во время нажатия на кнопку, программа останавливается и пишет System.InvalidOperationException. ПОМОГИТЕ ПОЖАЛУЙСТА. УЖЕ ВСЕ ПРОБЫВАЛ
Значит все таки что-то сделали не так. Без кода и всего проекта невозможно помочь. А в некоторых случаях только переделывать, если что-то упустили.
Здравствуйте, спасибо за информативный урок.У меня возникла ошибка, не знаю, что делать.
System.Data.OleDb.OleDbException: Инструкция INSERT INTO содержит неизвестное имя поля 'НАИМЕНОВАНИЕ ПОЛЯ'
Проверила соединенную базу данных ACCESS.Исправила неточности. Удалила соединение и подключила снова, с исправленным атрибутом.Помогите исправить((((
У вас ошибка в запросе. Более, чем уверен, что ваше поле текстовое (строка) и вы забыли ковычки.
@@megamozgchanel спасибо😊Все работает!
а не подскажете как сделать для строки числового формата вот этот момент:
private void button1_Click(object sender, EventArgs e)
{
int ID = Convert.ToInt32(textBox1.Text);
string query = "UPDATE entry SET Number = '" + textBox2.Text + "' WHERE [ID]=" + ID;
OleDbCommand command = new OleDbCommand(query, myConnection);
command.ExecuteNonQuery();
MessageBox.Show("изменен");
this.entryTableAdapter.Fill(this.dataBasicDataSet.entry);
}
Не совсем понял, что именно вы хотите. Для числового значения кавычки не нужны
У меня на Form2.cs ( command.ExecuteNonQuery(); ) вот в этой команде пишут несоответствие типов данных в выражении условия отбора, помогите пожалуйста 🥺🥺🥺 у меня завтра защита а я немогу сделать, прям очень прошу
Поздно увидел, скорее всего опоздал с помощью, да и без всего кода трудно помочь!
При выполнении удалении на запрос, удаляет всю таблицу, вроде все делал как на видео!!!!
Раз удаляет всю таблицу, значит не верно написан запрос. Не используете WHERE, иначе не должно удаляться всё
Почему то в windows форме удаляется сотрудник, а в БД нет. Что можно сделать, чтобы и в БД удалялось?
Видимо связь не верно сделана. Или запрос не выполняется
а если я обновил таблицу в access, как сделать чтобы она обновилась в форме?
В двух словах не описать, если делать более практично, то необходимо сначала запросом выгружать БД из Аксесса, и строить таблицу, используя выгруженные данные, типо сколько там полей, определить с помощью запроса. Я вижу только такое решение, возможны и другие
@@megamozgchanel спасибо. Уже разобрался
Вы можете скинуть эту работу пожалуйста?
К сожалению нет, вполне реально выполнить по видео.
Добрый вечер! Подскажите как с Вами можно связаться хотел кое что обсудить!
почта в описании канала
@@megamozgchanel Спасибо! Я написал Вам письмо! Жду от Вас с нетерпеньем ответа!
Могу подсказать решение, чтобы обойти потребность в постоянном нажатии кнопки "Обновить" после добавления информации о сотруднике.
Для этого нужно активировать событие "Activated" для Form1. И Получается, что пока форма активна, она будет обновлять список сотрудников.
Выглядеть должно приблизительно вот так:
private void Form1_Activated(object sender, EventArgs e)
{
this.сотрудникиTableAdapter.Fill(this.companyDBDataSet.Сотрудники);
}
Отличное решение! Также можно использовать таймер, например!
@@megamozgchanel Привет. А как такую фишку провернуть в WPF, в курсе?
ругается на код где INSERT INTO, говорит ошибка синтаксиса в инструкции INSERT INTO
Возможно, кавычки не те, или не хватает по количеству.
System.FormatException: "Входная строка имела неверный формат."
как это исправляется, сижу пытаюсь понять, но не особо получается, помогите, пожалуйста..
Несовпадение типов данных скорее всего. Это когда вы например целочисленной переменной присваиваете строковое значение.
это бывает, если у тебя в аксессе для определенного столбца тип данных, например, int, а в textBox в приложении у тебя string, и строковая переменная не может записаться в целочисленную, которая у тебя в аксессе
Чтоб ненужно было добавлять дурацкую кнопку обновить и все обновлялось само при добавлении, просто сделайте в форме, в которой будет происходить добавление, в ее конструкторе сделайте чтоб она принимала основную форму и собственно при вызове формы добавления передавайте в нее текущую форму. Таким образом на форме добавления вы будете иметь доступ к датагридвью и сможете его так же обновить. Единственное не забудьте параметры доступа с привата на паблик поменять, чтоб можно было так сделать
спасибо, мужик
Вау, ведь реально. Почему до этошл никтое додумался. Спасибо парень
Почему-то выходит ошибка в строке с open(Свойство Connectionstring не инициализацировано)
Думаю, вы допустили ошибку при подключении БД к приложению. Пересмотрите предыдущую и эту практические работы. Думаю, вы найдете ошибку, если нет, то пишите!
такая же проблема, как решили ее?
В ConnectionString не задан поставщик OLE DB
Несколько проблем может быть, без кода невозможно подсказать, сорри
А зачем закрывать соединение при открытии второй формы, а потом опять открывать соединение, почему нельзя работать в обоих формах с отрытым один раз соединением?
Разные объекты
Почему у меня this.вТиПОTableAdapter.Fill(this.курсdataset.ВТиПО);
Не обновляет санның сразу, данные появляются только после перезагрузки формы
Что делать?
Данные*
В видео есть решение, вы его использовали? Там демонстрируется пример, когда не обновляются данные и потом есть решение.
Я понимаю, что уже прошло 2 года, но все же вопрос.
У меня работает изменение, дополнение, удаление. Но никак не работает обновление пробовал через Fill, update, refresh, но все тщетно. Помогите пжлст.
Проблему решил крайне странным методом.
Просто указал путь для строки как автор вместо полного и все заработало как надо.
Главное, что вы решили проблему!
Такая вот ситуация, запускаю приложение, заполняю таблицу, сохраняю, останавливаю отладку и дальше захожу в бд все нормально сохранилось. Но когда я повторно запускаю приложение, все данные которые я вводил их нет.
Пересмотрите еще раз видео, думаю, что вы пропустили один из шагов.
также и в бд не сохранаются
@@bleckVirus в dataSourсe поставили сохранение более новой версии БД?
@@megamozgchanel да и я заметил что оно как то раз через раз сохраняет может быть потому что это ещё не завершенный проект среда visual studio полноценно не обрабатывает запросы? А так то с трудом сохраняется то нет может если выйти из ВС и просто через экзэшник открыть будет всё с первого раза сохранять
@@megamozgchanel я удивлён что вы отвечаете каждому и стараетесь помочь желаю вам больших успехов))
Помогите пожалуйста
у меня выбивает ошибку
System.Data.OleDb.OleDbException: "Переполнение"
в command
Вы решили свою проблему? Если нет, то опишите подробнее.
Здраствуйте, проблема в том что когда я хочу добавить нового сотрудника меня выкидает в код и в строчках
OleDbCommand command = new OleDbCommand(query, myConnection);
command.ExecuteNonQuery();
выскакивает сообщение: исключение не обработано а ниже :
System.Data.OleDb.OleDbException: "Переполнение"
Также когда я прописовал код для кнопки найти сотрудника
Выскакивает сообщение :System.Data.OleDb.OleDbException: "Несоответствие типов данных в выражении условия отбора."
Artem Paladyuk такая же ошибка
@@artempaladyuk1110такая же ошибка
Привет. Проблема такая. Делал все как у тебя. И получается когда срабатывает запрос на удаление. Оно всё правильно работает и удаляет сотрудника. И если я закрываю программу и открываю опять, то сотрудник не появляется. Ну как и должно быть всё. Но потом я захожу в аксес и там ничего не удалено!! И после того как я захожу в аксес, если я опять программу запускаю, то снова все сотрудники появляются
Возможно вы не поменяли свойство, сейчас точно не помню его название, для вывода актуальных данных, или связь с базой при выполнении запроса нарушена.
@@megamozgchanel мне уже препод подсказал. У меня короче так вышло, что у меня было два пути для одной и той же базы данных. И получается у меня скрипт брал данные с одного пути, а обновлял базу по другому пути. Короче какая-то путаница жёсткая хахпхпх. Ну я просто потом одну базу удалил и все заработало
@@user-be9rc4yz8r хорошо, что решили проблему
System.Data.OleDb.OleDbException: "Ошибка синтаксиса в инструкции INSERT INTO."
в чем моет быть проблема
это вылезает при кнопке добавить
Ошибка синтаксиса, нет точки или другого символа, то есть ошибка в написании кода.
Вы нашли в чем проблема?
У меня такую же ошибку выдаёт просто
у меня ошибку выдает в выдалении
Не совсем понял
скажите пожалуйста, а как на печать отправить?
Что именно отправить на печать?
@@megamozgchanel например с формы "Сотрудники" распечатать Таблицу с данными изAccess
помоги пожалуйста срочно нужно
Сравнивайте с кодом из видео, ошибка в наборе символов, скорее всего.
Пришёл сюда, что бы вспомнить, как это делается и столкнулся со следующим: если поля не заполнены и мы пытаемся удалить, создать или добавить, бьёт ошибку. Решил через условный оператор if:
if (textBox2.Text == "" || textBox3.Text == "")
{
MessageBox.Show("Заполните все поля для изменения должности");
}
else
{
int kod... (Код из видео)
}
Конечно, надо проверять заполнены ли поля. Иначе идет присваивание пустой строки в целочисленную переменную, а это невозможно, вот и ошибка.
Работало бы это у меня, как часы так же, как у вас. Одни ошибки да и только. Уже 3-4 раза заново все делал в итоге не выполнил
Странно, что-то все таки не так...
Спасибо, не сдал бы курсовик в срок, если бы не вы
Рад помочь!!
@@megamozgchanel а если у меня поле типа дата и время мне его также с апострофом добавлять?
фиг знает прочтёте ли и вряд ли вовремя но тем не менее всё делал как у вас но данные обратно в бд не сохраняются
Вчера делал снова программу, на основе кода, представленного на видео. Поэтому 100% уверен в его работоспособности. Можете отправить код, посмотрю или архив с проектом. vi-studio@inbox.ru
@@megamozgchanel да ладно сам по тихоньку по маленьку допетрю и попутно в инете покопаюсь
@@megamozgchanel но огромное спасибо за готовность помочь))
Спасибо большое, но за 15 минут видео я вписал одну строчку кода. Хотелось чтобы видео были короче
Стараюсь максимально подробно, у всех разный уровень.
Ставлю код сотрудника например 999 и жму "Добавить сотрудника". Гыгы. Программу выбивает в error)
Обычно пишет объяснение ошибки. Либо тип данных не совпадает, либо количество полей в запросе не совпадает.
не знаю проверил три девятки пишется легко, смотрите код внимательно где то косяк однозначно...
А почему не обновляется. Я сделал кнопку обновить, но она не работает
Значит что-то сделали не так, пересмотрите код
@@megamozgchanel ну я как вы добавил эту строку и по кнопке удалить тоже не обновляет
@@Galerind1 все таки что-то делаете не так, код рабочий, проверено многими зрителями, смотрите синтаксические ошибки
При добавлении сотрудника выдает ошибку в строке command.ExecuteNonQuery();
Ошибка: "Несоответствие типов данных"
Что делать?
Не может выполнить запрос из-за разных типов данных в запросе (то есть переменная имеет не тот тип данных) и в базе данных. Либо последовательность параметров в запросе не верная.
@@megamozgchanel у меня такая же проблема с executeNonQuery. Ошибка синтаксиса в предложении from. Вроде бы и в аксесе все типы данных сменила на числовые, создала связи нормальные, адрес на таблицу указываю верный, а он не хочет удалять...
@@megamozgchanel как быть? Уже много что попробовала, не пойму в чем ошибка
@@megamozgchanel попробовала другой вариант, но тут уже: отсутствует значение для одного или нескольких требуемых параметров.
@@megamozgchanel кстати, название формы в визуал и название таблицы не совпадает. Если здесь название пациенты, то в бд Личные данные пациента. Может я просто неправильно прописываю, ниже опишу 😁
Здравствуйте подскажите пожалуйста, в чем ошибка не понимаю, забиваю данные пишет вроде бы все хорошо, выдает окошечко что данные добавлены но в таблице их нет, обновляю нету, буду рада если подскажите
string query = "INSERT INTO Сотрудник ([Код], [ФИО], [Дата рождения], [Оклад],[ИИН], ) VALLEUS(" + kod + ",'" + ФИО + "','" + Дата_рождения + "','" + Оклад + "'
И ещё подскажите пожалуйста как правильно прописать Оклад в денежном выражении, ИИН в числовом и дата рождения в дате)
А то код описали и текстовые выражения а денежном и дате не описали)
Если не сложно подскажите код)
string (на текстовую запись а если выше перечисленное то как)?
Во первых у вас опечатка, не знаю вы так писали код или сюда просто с ошибкой набрали. Не VALLEUS, а VALUES. Во вторых ИИН не должен быть числовым, иначе вы не сможете добавить значение, например 000101736473. В БД сохранится только 101736473. Так как не существует целых чисел, начинающихся с 0. Должен быть текстовый формат. А если вы в запрос вставляете числовые значения, то добавлять апострофы не надо.
22:29
Для выполнения запроса необходимо его выполнить, хд
Пусть это будут худшие слова в вашей жизни!) Сегодня в завтрашний день не все могут смотреть....!!)
@@megamozgchanel Ахахах, конечно)
А если серьёзно, урок классный, очень помог, спасибо)
Лайкосик с подпиской обеспечены)
Пользователь не должен видеть таблицы, id, тем более работать с ними на прямую. Было бы интереснее посмотреть как будет работать программа когда все это будет спрятано
Что на счет запроса SELECT, который я демонстрирую в следующей практической работе?
@@megamozgchanel Такая вот ситуация, запускаю приложение, заполняю таблицу, сохраняю, останавливаю отладку и дальше захожу в бд все нормально сохранилось. Но когда я повторно запускаю приложение, все данные которые я вводил их нет.
private void button1_Click(object sender, EventArgs e)
{
int kod = Convert.ToInt32(textBox1.Text);
string Name = textBox2.Text;
string Surname = textBox3.Text;
string Position = textBox4.Text;
string query = "INSERT INTO Сотрудники(Код сотрудника, Имя, Фамилия ,Должность) VALUES("+ kod+",'" + Name + "','"+ Surname +"','"+ Position + "')";
OleDbCommand command = new OleDbCommand(query, myConnection);
command.ExecuteNonQuery();
MessageBox.Show("Сотрудник добавлен");
}
System.Data.OleDb.OleDbException: "Ошибка синтаксиса в инструкции INSERT INTO."
Что делать?
Скорее всего вы запутались в ковычках в запросе. Также не забывайте про пробелы (например, после Сотрудники), чтобы не получилось слитно.
Названия полей, в которых есть пробелы необходимо брать в квадратные скобки, например [Код сотрудника]
Бля скинь пж проект
Не смотря на то, что видео-урок отличный, музыка на заднем плане заставляет нервничать и раздражает на протяжении целого часа. В прошлых видео уроках она была более спокойная, мелодичная и не вызывала таких эмоций. Прошу, автор, не вставляй эту композицию в последующие видео-уроки.
Ок, замечание принято !
Да черт
string query = "INSERT INTO Таблица1([Код товара], Название товара, Фандом, Вид товара, Размер товара, цена) VALUES (" + kod + ",'" + name + "','" + fandom + "','" + sort + "','" + size + "','" + "','" + money + "')";
OleDbCommand command = new OleDbCommand(query, myConnection);
command.ExecuteNonQuery();
этот тупой С шарп не хочет принимать этот чертов код
Не хочу обидеть, но может не С шарп тупой. Почему Код товара в скобках, а например, Название товара не в скобках? И могу предположить, с кавычками проблема
Видео классное , но без х2 я бы повесился
Подписка и лайк лучшая благодарность! Всегда есть плюсы и минусы!