Здраствуйте пишу код для вставки строки в созданную БД.
код кнопки на добавление записи :
private void button1_Click(object sender, EventArgs e)
{
string strConn = *"Data Source=ZELIM-ПК\SQLEXPRESS;Initial Catalog = Поликлиника; Integrated Security = True";
int a,k,dio;
string b, c, d, r, p;
float f;
DateTime date;
a = Convert.ToInt32(textBox1.Text);
k = Convert.ToInt32(textBox9.Text);
dio = Convert.ToInt32(textBox10.Text);
b = textBox2.Text;
c = textBox3.Text;
d = textBox4.Text;
r = textBox6.Text;
p = textBox7.Text;
f = Convert.ToSingle(textBox8.Text);
date = Convert.ToDateTime(textBox5.Text);
string sInsSql = "Ins ert in to Пациенты(Номеркарты, Фамилия, Имя, Отчество, Датарождения, Адрес, Пол, Скидканаобслуживание, Кодлечащеговрача,Коддиагнозаустановленного) Values("+a+" ,"+b+" ,"+c+" ,"+d+" ,"+date+" ,"+r+" ,"+p+" ,"+f+" ,"+k+" ,"+dio+")";
string sInsSotr = string.Format(sInsSql, a, b, c, d, date, r, p, f, k, dio);
SqlConnection Conn = new SqlConnection(strConn);
SqlCommand cmdIns = new SqlCommand(sInsSotr, Conn);
Conn.Open();
cmdIns.ExecuteNonQuery();
Conn.Close();
}
Возникает такая ошибка System.Data.SqlClient.SqlException: "Неправильный синтаксис около конструкции ","."
Можете подсказать в чем дело? Второй день кручусь понять не могу.Причем ошибка выдает именно на cmdIns.ExecuteNonQuery(); . Буду рад любой помощи
код кнопки на добавление записи :
private void button1_Click(object sender, EventArgs e)
{
string strConn = *"Data Source=ZELIM-ПК\SQLEXPRESS;Initial Catalog = Поликлиника; Integrated Security = True";
int a,k,dio;
string b, c, d, r, p;
float f;
DateTime date;
a = Convert.ToInt32(textBox1.Text);
k = Convert.ToInt32(textBox9.Text);
dio = Convert.ToInt32(textBox10.Text);
b = textBox2.Text;
c = textBox3.Text;
d = textBox4.Text;
r = textBox6.Text;
p = textBox7.Text;
f = Convert.ToSingle(textBox8.Text);
date = Convert.ToDateTime(textBox5.Text);
string sInsSql = "Ins ert in to Пациенты(Номеркарты, Фамилия, Имя, Отчество, Датарождения, Адрес, Пол, Скидканаобслуживание, Кодлечащеговрача,Коддиагнозаустановленного) Values("+a+" ,"+b+" ,"+c+" ,"+d+" ,"+date+" ,"+r+" ,"+p+" ,"+f+" ,"+k+" ,"+dio+")";
string sInsSotr = string.Format(sInsSql, a, b, c, d, date, r, p, f, k, dio);
SqlConnection Conn = new SqlConnection(strConn);
SqlCommand cmdIns = new SqlCommand(sInsSotr, Conn);
Conn.Open();
cmdIns.ExecuteNonQuery();
Conn.Close();
}
Возникает такая ошибка System.Data.SqlClient.SqlException: "Неправильный синтаксис около конструкции ","."
Можете подсказать в чем дело? Второй день кручусь понять не могу.Причем ошибка выдает именно на cmdIns.ExecuteNonQuery(); . Буду рад любой помощи
По теме из базы знаний
- Резервное копирование 1С средствами MS SQL.
- Набор скриптов для знакомства с SQL Server
- Журнал регистрации SQLite, кластер, метаданные
- Собираем образ виртуальной машины с PostgreSQL и платформой 1С. Цикл "Многопоточный CI для 1С c Packer, Vagrant и Jenkins", часть 2
- Использование ORM вместо работы с чистым SQL
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(1) сколько лишнего кода!!! Зачем все эти форматирования в число - обратно - в строку - в формат... бред какой-то
чем больше бредовых команд, тем больше места для ошибок
уберите все ненужное,
сформируйте правильную ТЕКСТОВУЮ строку инсера - и все!!!
перед ее выполнением сделайте ее Печать или что там у вас
чем больше бредовых команд, тем больше места для ошибок
уберите все ненужное,
сформируйте правильную ТЕКСТОВУЮ строку инсера - и все!!!
перед ее выполнением сделайте ее Печать или что там у вас
(9) форматирования нужны, т.к. все что я ввожу в текстбоксы считается string и подходит не под все столбцы таблицы Пациенты. Например тот же float обязателен ибо в бд он храниться как значение float и не примет string значение. Если вы все еще считаете что они лишние , то если не сложно я попрошу вас привести пример того как вы предлагаете расписать insert
Вы сначала превращаете Значение TextBox9.TEXT в Int32 (переменная "а"), а затем добавляете переменную "а" (целочисленную) в текст запроса.
Может быть, при формировании текста запроса все его слагаемые привести к типу "строка"?
Может быть, при формировании текста запроса все его слагаемые привести к типу "строка"?
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот