C# добавление нескольких значений в базу данных за 1 раз

Kazza

Client
Регистрация
17.09.2015
Сообщения
78
Благодарностей
5
Баллы
8
Здравствуйте, пытаюсь изучить работу с базой данных Mysql.

При добавление 1 значения типа:
db.query("INSERT INTO test SET price='"+pricex+"'");
Все работает хорошо.

Но я хочу добавлять несколько значений сразу типа :
db.query("INSERT INTO test SET (link,price) VALUES (link,c)");
Не работает =( Перепробовал уже много вариантов, и с ковычками, и с экранированием и тд, Не получается запустить.

Подскажите пожалуйста где ошибка? Какой правильный синтаксис при добавление в таблицу нескольких значений в C#
 

ankur

Client
Регистрация
19.05.2012
Сообщения
83
Благодарностей
48
Баллы
18
Примерно так:
db.query("INSERT INTO test SET (link,price) VALUES ('"+link+"','"+c+"')");
Зависит от типа данных в базе MySQL.
 
  • Спасибо
Реакции: Kazza

Kazza

Client
Регистрация
17.09.2015
Сообщения
78
Благодарностей
5
Баллы
8
Примерно так:
db.query("INSERT INTO test SET (link,price) VALUES ('"+link+"','"+c+"')");
Зависит от типа данных в базе MySQL.
link - varchar
price- int

c - предварительно перевел к Int

Ошибка
Выполнение действия CSharp OwnCode You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '(link,price) VALUES ('https://google.com/',1500000)' at line 1
 

ankur

Client
Регистрация
19.05.2012
Сообщения
83
Благодарностей
48
Баллы
18
db.query("INSERT INTO test SET (link,price) VALUES ('"+link+"',"+c+")");
c - вроде не обязательно приводить к Int
 
  • Спасибо
Реакции: Kazza

Kazza

Client
Регистрация
17.09.2015
Сообщения
78
Благодарностей
5
Баллы
8
db.query("INSERT INTO test SET (link,price) VALUES ('"+link+"',"+c+")");
c - вроде не обязательно приводить к Int
Всё равно не работает =(((

db.query("INSERT INTO test SET price='"+c+"'");
db.query("INSERT INTO test SET link='"+link+"'");
Так добавляет поочередно в базу.


db.query("INSERT INTO test SET (link,price) VALUES ('"+link+"',"+c+")"); - это не отрабатывает =( пишет что то с синтаксисом =(
 

ankur

Client
Регистрация
19.05.2012
Сообщения
83
Благодарностей
48
Баллы
18
db.query("INSERT INTO test SET price="+c+",link='"+link+"'");
 
  • Спасибо
Реакции: Kazza

porileenvej

Client
Регистрация
09.05.2020
Сообщения
99
Благодарностей
131
Баллы
33
C#:
//link - строка
//c - строка
string query = "INSERT INTO test (link,price) VALUES ('{0}','{1}');";
db.query(String.Format(query, link, c));
 
  • Спасибо
Реакции: doc и Kazza

WebBot

Client
Регистрация
04.04.2015
Сообщения
1 763
Благодарностей
1 391
Баллы
113
C#:
db.query("INSERT INTO test SET price="+c+", link='"+link+"'");
переменные c и link должны быть строками ( при этом c должно содержать в себе целое число в виде строки, раз уж вы написали что в БД столбец price у вас int )
если link может содержать всякие спецсимволы, то нужно экранировать
 
  • Спасибо
Реакции: Kazza

Кто просматривает тему: (Всего: 1, Пользователи: 0, Гости: 1)