Как использовать имена столбцов из списка в mysql insert
У меня есть 2 списка и я хочу использовать их в параметре вставки mysql:
Что я уже пробовал:
List<string> ColumnNames = new List<string>(); List<string> ValueNames = new List<string>(); ColumnNames = names.Keys.ToList(); ValueNames = names.Values.ToList();
Я пытаюсь использовать эти списки в операторе MySql:
... MySqlCommand command = conDataBase.CreateCommand(); command.CommandText = string.Format("insert into MyTable {0} values (?parameter)", string.Join(",", ColumnNames)); command.Parameters.AddWithValue("parameter", string.Join(",", ValueNames)); ...
но я беру синтаксическую ошибку, тогда я пробовал много экспериментов, например:
... command.CommandText = "insert into MyTable (" + string.Join(",", ColumnNames) + ") values ('" + string.Join(",", ValueNames) + "')"; ...
и
... command.CommandText = "insert into MyTable (" + string.Join(",", ColumnNames) + ") values (?parameter)"; command.Parameters.AddWithValue("parameter", string.Join(",", ValueNames)); ...
Я принимаю ошибку "количество столбцов не соответствует количеству значений в строке 1", но
ColumnNames.Count = ValueNames.Count
CHill60
Каково содержание команды.CommandText после того, как вы сделали этот формат строки и каково содержание строки.Join(",", ValueNames)
Member 12361495
команда.CommandText = вставить в msoflioqveknebisklasifikatori (cifruliKodi,dasaxeleba,sruliDasaxeleba,KodiAlfa2,KodiAlfa3) значения (', ,,')
Содержимое ValueNames - это массив строк