Проблема с синтаксисом sql

1. btr19991 15.05.20 12:24 Сейчас в теме
Здраствуйте пишу код для вставки строки в созданную БД.

код кнопки на добавление записи :
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(); . Буду рад любой помощи
По теме из базы знаний
Ответы
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
9. soft_wind 15.05.20 13:18 Сейчас в теме
(1) сколько лишнего кода!!! Зачем все эти форматирования в число - обратно - в строку - в формат... бред какой-то
чем больше бредовых команд, тем больше места для ошибок
уберите все ненужное,
сформируйте правильную ТЕКСТОВУЮ строку инсера - и все!!!
перед ее выполнением сделайте ее Печать или что там у вас
nomad_irk; +1 Ответить
10. btr19991 15.05.20 13:32 Сейчас в теме
(9) форматирования нужны, т.к. все что я ввожу в текстбоксы считается string и подходит не под все столбцы таблицы Пациенты. Например тот же float обязателен ибо в бд он храниться как значение float и не примет string значение. Если вы все еще считаете что они лишние , то если не сложно я попрошу вас привести пример того как вы предлагаете расписать insert
11. antz 15.05.20 14:13 Сейчас в теме
(10) В запрос все равно уйдет строка.

"insеrt intо Пациенты(код) values(1)" - это все строка, хоть в базе код и имеет тип int.
12. antz 15.05.20 14:19 Сейчас в теме
(10) А строковые значения в запрос передавать надо, если мне не изменяет склероз, так:

"insеrt intо Пациенты(Фамилия) values('Иванов')"
13. nomad_irk 71 15.05.20 14:32 Сейчас в теме
(10)Если FLOAT не может быть преобразован в STRING и обратно, то в этом случае вам необходимо использовать параметры запроса.
14. btr19991 15.05.20 14:54 Сейчас в теме
(13) Я все равно как то не очень понял. Если кому не трудно будет и у кого есть микрофон можете в дискорде помочь через стрим?
2. user1407549 1 15.05.20 12:46 Сейчас в теме
Вы сначала превращаете Значение TextBox9.TEXT в Int32 (переменная "а"), а затем добавляете переменную "а" (целочисленную) в текст запроса.
Может быть, при формировании текста запроса все его слагаемые привести к типу "строка"?
4. btr19991 15.05.20 12:56 Сейчас в теме
(2)Здраствуйте я перевожу в int потому что в моей Бд хранится именно такое значение переменной. Поэтому я все перевел в типы данных которые хранятся в Бд.
3. antz 15.05.20 12:56 Сейчас в теме
А вставляемые строки в кавычки заключать не надо в тексте запроса?
5. btr19991 15.05.20 12:58 Сейчас в теме
(3)вот так вы имеете ввиду ? "+"a"+"
6. antz 15.05.20 13:01 Сейчас в теме
(5)

Values("+a+" , '"+b+"' ,'"+... и т.д.

Текст запроса в чистом виде какой получается?
7. btr19991 15.05.20 13:12 Сейчас в теме
(6)спасибо за ответ как только доберусь до компьютера обязательно попробую , но можно уточнение - вставлять одинарные кавычки во всех кроме первой и последней строки?
8. antz 15.05.20 13:14 Сейчас в теме
(7) Оборачивать в кавычки строковые значения, которые вставлять надо. Для чисел кавычки не нужны.
Оставьте свое сообщение
Вакансии
Программист 1С
Москва
зарплата от 180 000 руб. до 220 000 руб.
Полный день

Аналитик 1С / Бизнес-аналитик
Нижний Новгород
зарплата от 100 000 руб. до 250 000 руб.
Временный (на проект)

Программист 1С
Москва
зарплата от 250 000 руб.
Полный день

Программист 1C
Волгоград
зарплата от 200 000 руб.
Полный день

Аналитик
Санкт-Петербург
зарплата от 200 000 руб. до 250 000 руб.
Полный день