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

Не удаётся записать правильно данные в БД

05.08.2014, 17:56. Показов 802. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем привет.
Не удаётся подключиться к БД.
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
string myConnectionString = "Database=test;Data Source=11.22.133.166;User Id=test;Password=test";
            MySqlConnection myConnection = new MySqlConnection(myConnectionString);
            string myInsertQuery = "INSERT INTO qasa(id, task, ok_answer) VALUES (444000, 1, 1)";
            MySqlCommand myCommand = new MySqlCommand(myInsertQuery);
            myCommand.Connection = myConnection;
            try
            {
                myConnection.Open();
                myCommand.ExecuteNonQuery();
                MessageBox.Show("Всё работает");
            }
            catch
            {
                MessageBox.Show("Подключение не установлено! :(");
            }
            myCommand.Connection.Close();
Дело в том, что при "закомментировании" myCommand.ExecuteNonQuery(); подключение успешно устанавливается.
Я чувствую, что сейчас мне предложат писать через @Parameters, верно? Как кратко написать через параметры, чтобы всё работало?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
05.08.2014, 17:56
Ответы с готовыми решениями:

Не удается записать данные в поток
Доброго времени суток. Создал клиент/сервер, после соединения клиент может отправлять данные серверу, а при попытке отправки сообщения...

Как записать в массив данные из *.TXT и и правильно рассортировать данные по ячейкам массива?
файл index.php <?php $site = (file('text.txt')); в файле text.txt находится: xxxxxx.ru xxxxx.com xxxx.org xxxx.ru...

Сокеты и BinaryWriter = Не удается записать данные в транспортное соединение
Здравствуйте, пишу клиент-серверное приложение и столкнулся с ошибкой, гуглил и по этому поводу ничего не могу найти, что бы решило...

8
 Аватар для Монфрид
1245 / 1055 / 293
Регистрация: 07.03.2012
Сообщений: 3,246
05.08.2014, 18:55
Цитата Сообщение от Kirill_KZ Посмотреть сообщение
через @Parameters, верно?
было примерно так, сейчас не знаю как:
C#
1
2
3
4
5
string myInsertQuery = "INSERT INTO qasa(id, task, ok_answer) VALUES (@1, @2, @3)";
            MySqlCommand myCommand = new MySqlCommand(myInsertQuery);
myCommand.Parameters.AddWithValue("@1",444000);
myCommand.Parameters.AddWithValue("@2",1);
myCommand.Parameters.AddWithValue("@3",1);
1
8 / 8 / 0
Регистрация: 29.06.2013
Сообщений: 154
05.08.2014, 19:18  [ТС]
Монфрид,
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
string myConnectionString = "Database=test;Data Source=11.22.333.166;User Id=test;Password=test";
            MySqlConnection myConnection = new MySqlConnection(myConnectionString);
            string myInsertQuery = "INSERT INTO qasa(id, task, ok_answer) VALUES (@1, @2, @3)";
            MySqlCommand myCommand = new MySqlCommand(myInsertQuery);
            myCommand.Connection = myConnection;
            try
            {
                myConnection.Open();
                myCommand.ExecuteNonQuery();
                myCommand.Parameters.AddWithValue("@1", 444000);
                myCommand.Parameters.AddWithValue("@2", 1);
                myCommand.Parameters.AddWithValue("@3", 1);
                MessageBox.Show("Всё работает");
            }
            catch
            {
                MessageBox.Show("Подключение не установлено! :( ", "Упс!");
            }
            myCommand.Connection.Close();
Выдаёт, что подключение не установлено т.е. сработал catch..
0
 Аватар для Монфрид
1245 / 1055 / 293
Регистрация: 07.03.2012
Сообщений: 3,246
05.08.2014, 20:26
Цитата Сообщение от Kirill_KZ Посмотреть сообщение
C#
1
2
3
4
myCommand.ExecuteNonQuery();
myCommand.Parameters.AddWithValue("@1", 444000);
 myCommand.Parameters.AddWithValue("@2", 1);
myCommand.Parameters.AddWithValue("@3", 1);
иногда думайте прежде чем копировать чужой код)
в вашем коде сначала выполняется запрос, а потом задаются параметры. Это нормально, по-вашему?
и уберите свой try-catch, вы ошибок из-за него не видите
1
7 / 7 / 3
Регистрация: 16.03.2013
Сообщений: 18
05.08.2014, 20:30
Первоначальная версия вашего кода - рабочая. У меня строка добавляется.
Единственное, что, у меня MS SQL Server
Соответственно строка подключения другая.
C#
1
 string cs = @"data Source = (local)\SQLEXPRESS; Initial Catalog = DBname; Integrated Security = true";
Так что, скорее всего в ней проблема. Как вариант, попробуйте добавить через запятую после IP номер порта, дефолтный - 3306.

Вот здесь ещё посмотрите: http://www.connectionstrings.com/mysql/
1
8 / 8 / 0
Регистрация: 29.06.2013
Сообщений: 154
05.08.2014, 20:33  [ТС]
Монфрид, с помощью try&catch можно понять подключилась ли программа к DB или нет.
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
            string myConnectionString = "Database=test;Data Source=11.22.333.166;User Id=test;Password=test";
            MySqlConnection myConnection = new MySqlConnection(myConnectionString);
            string myInsertQuery = "INSERT INTO qasa(id, task, ok_answer) VALUES (@1, @2, @3)";
            MySqlCommand myCommand = new MySqlCommand(myInsertQuery);
            myCommand.Parameters.AddWithValue("@1", 444000);
            myCommand.Parameters.AddWithValue("@2", 1);
            myCommand.Parameters.AddWithValue("@3", 1);
            myCommand.Connection = myConnection;
            try
            {
                myConnection.Open();
                myCommand.ExecuteNonQuery();
                MessageBox.Show("Всё работает");
            }
            catch
            {
                MessageBox.Show("Подключение не установлено!");
            }
            myCommand.Connection.Close();
При таком виде снова выходит ошибка.
Стоит отметить, что если сделать так "//myComman.ExecuteNonQuery()", т.е. закомментировать, то всё работает и всплывает окошко "Всё работает"...

Добавлено через 2 минуты
Kulinar94, дело в том, что код раньше работал. Возможно, по той причине, что раньше его запускал на WPF, а сейчас вернулся на WinForms..
0
Эксперт .NET
 Аватар для insite2012
5548 / 4311 / 1218
Регистрация: 12.10.2013
Сообщений: 12,371
Записей в блоге: 2
05.08.2014, 20:36
Цитата Сообщение от Kirill_KZ Посмотреть сообщение
с помощью try&catch можно понять подключилась ли программа к DB или нет.
Тогда бы вам стоило сделать так:
C#
1
2
3
4
5
6
7
8
try
{
    .....
}
catch(Exception ex)
{
    MessageBox.Show(ex.Message, "Error!");
}

И вот такой код работает:
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
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
 
using System.Data.SqlClient;
 
namespace ConsoleApplication9
{
    class Program
    {
        static void Main(string[] args)
        {
            Program test = new Program();
            test.DoConnect();
            Console.ReadLine();     
        }
        void  DoConnect()
        {
            string cnStr=@"Data Source=YAR\SQLEXPRESS;Initial Catalog=MyBataBase;"+
                          "Integrated Security=True;Pooling=False";
            SqlConnection myCnn = new SqlConnection(cnStr);
            SqlCommand cmd = new SqlCommand("INSERT INTO MyTable (Column1, Column2, Column3) VALUES (10, 20, 30)");
            cmd.Connection = myCnn;
            myCnn.Open();
            cmd.ExecuteNonQuery();
            myCnn.Close();
            Console.WriteLine("Operation completed!");
        }
    }
}
1
7 / 7 / 3
Регистрация: 16.03.2013
Сообщений: 18
05.08.2014, 20:44
Напишите, какую именно ошибку выдаёт.
1
8 / 8 / 0
Регистрация: 29.06.2013
Сообщений: 154
05.08.2014, 21:20  [ТС]
Kulinar94, спасибо большое за помощь.
Отбой тревоги. Всё работает и без parameters. Сглупил, поставив значение 444000. Просто забыл, что в Базе Данных уже имеется около 600 тысяч значений.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
05.08.2014, 21:20
Помогаю со студенческими работами здесь

Как правильно записать данные в List?
Пишу программу для создания тестов. Первый класс class Answer { public String nameOfAnswer { get; set; } ...

правильно записать данные и построить график
хочу построить график модуля R от d/лямбду0 не получается записать d как переменную еденицу

Как правильно записать данные в Json
Доброго времени суток, возникла такая проблема. Имеется массив объектов типа: dataDocument = Этот массив хранится в...

Как правильно записать данные в БД(Не то что вы подумали)
есть таблица с перечнем полей к примеру ФИО Адрес Телефон Образование Пол и еще много каких нибуть с помощью связи...

Как правильно записать данные из StringBuilder в combobox?
comboBox2.Items.Add(sb); Если писать так то все что есть в StringBuilder sb будет записано в одну строку в combobox. Как это исправить?


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru