Пакетное добавление в БД C#

arbplv

Client
Регистрация
28.03.2020
Сообщения
373
Благодарностей
23
Баллы
18
Подскажите есть ли возможность пакетно отправить записи в бд.
Кол-во строчек от от 3 до 20, заранее не известно. Получаю данные в цикле.
Делать под каждую отправку свой запрос не хочется, не правильно это.
В идеале бы создать переменную, в нее заполнять все что мне нужно и потом пакетно отправить в БД.
Вот так, не получается)))
C#:
string test_bd = string.Empty;                       
test_bd = "'NDc3ND', '33478417', '1', '12', '0','21', '1'";
// может в словарик записывать или в список... Записываться будет циклом...
ZennoPoster.Db.ExecuteQuery(
    "insert into time_table_events (`par_1`,`par_2`,`par_3`,`par_4`,`par_5`,`par_6`,`par_7`) values (@test_bd)",
        new System.Collections.Specialized.OrderedDictionary {
            {"test_bd", test_bd}},
        ZennoLab.InterfacesLibrary.Enums.Db.DbProvider.MySqlClient,
        connet_set);
 

arbplv

Client
Регистрация
28.03.2020
Сообщения
373
Благодарностей
23
Баллы
18
1 значение получилось добавить, а вот как лист или словарик передавать, не понятно...

C#:
string test_bd = "'NDc3ND', '33478417', '1', '12', '0','21', '1'";
ZennoPoster.Db.ExecuteQuery(
    $"insert into time_table_events (`par_1`,`par_2`,`par_3`,`par_4`,`par_5`,`par_6`,`par_7`) values ({test_bd})",
        new System.Collections.Specialized.OrderedDictionary {
            {"test_bd", test_bd}},
        ZennoLab.InterfacesLibrary.Enums.Db.DbProvider.MySqlClient,
        connet_set);
 

arbplv

Client
Регистрация
28.03.2020
Сообщения
373
Благодарностей
23
Баллы
18
Мне нужно что-то типа такого...
C#:
List <string> test_bd = new List <string>() {
"'1', '33478417', '1', '12', '0','21', '1'",
"'2', '33484117', '1', '22', '1','21', '1'",
"'3', '33478317', '1', '12', '0','21', '2'"};

ZennoPoster.Db.ExecuteQuery(
    $"insert into time_table_events (`par_1`,`par_2`,`par_3`,`par_4`,`par_5`,`par_6`,`par_7`) values ({test_bd})",
        new System.Collections.Specialized.OrderedDictionary {
            {"test_bd", test_bd}},
        ZennoLab.InterfacesLibrary.Enums.Db.DbProvider.MySqlClient,
        connet_set);
 

doc

Client
Регистрация
30.03.2012
Сообщения
8 684
Благодарностей
4 641
Баллы
113
Мне нужно что-то типа такого...
C#:
List <string> test_bd = new List <string>() {
"'1', '33478417', '1', '12', '0','21', '1'",
"'2', '33484117', '1', '22', '1','21', '1'",
"'3', '33478317', '1', '12', '0','21', '2'"};

ZennoPoster.Db.ExecuteQuery(
    $"insert into time_table_events (`par_1`,`par_2`,`par_3`,`par_4`,`par_5`,`par_6`,`par_7`) values ({test_bd})",
        new System.Collections.Specialized.OrderedDictionary {
            {"test_bd", test_bd}},
        ZennoLab.InterfacesLibrary.Enums.Db.DbProvider.MySqlClient,
        connet_set);
C#:
List <string> test_bd_list = new List <string>() {
"'1', '33478417', '1', '12', '0','21', '1'",
"'2', '33484117', '1', '22', '1','21', '1'",
"'3', '33478317', '1', '12', '0','21', '2'"};

string test_bd = string.Join(",", test_bd_list.Select(x => "(" + x + ")" ));

ZennoPoster.Db.ExecuteQuery(
    $"insert into time_table_events (`par_1`,`par_2`,`par_3`,`par_4`,`par_5`,`par_6`,`par_7`) values {test_bd}",
        new System.Collections.Specialized.OrderedDictionary {
            {"test_bd", test_bd}},
        ZennoLab.InterfacesLibrary.Enums.Db.DbProvider.MySqlClient,
        connet_set);
попробуй так
 
  • Спасибо
Реакции: Sanekk и arbplv

arbplv

Client
Регистрация
28.03.2020
Сообщения
373
Благодарностей
23
Баллы
18
C#:
List <string> test_bd_list = new List <string>() {
"'1', '33478417', '1', '12', '0','21', '1'",
"'2', '33484117', '1', '22', '1','21', '1'",
"'3', '33478317', '1', '12', '0','21', '2'"};

string test_bd = string.Join(",", test_bd_list.Select(x => "(" + x + ")" ));

ZennoPoster.Db.ExecuteQuery(
    $"insert into time_table_events (`par_1`,`par_2`,`par_3`,`par_4`,`par_5`,`par_6`,`par_7`) values {test_bd}",
        new System.Collections.Specialized.OrderedDictionary {
            {"test_bd", test_bd}},
        ZennoLab.InterfacesLibrary.Enums.Db.DbProvider.MySqlClient,
        connet_set);
попробуй так
да, так зашло. Спс. Чет не догадался скобочки поставить...
 

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