Пример #1
0
        public static int InsertDataRowIntoTable(this SQLiteGateWay SQLiteGateWay, DataRow DataRow, bool CreateColumns = false)
        {
            var ColumnNames = DataRow.Table.GetColumnNames();

            SQLiteGateWay.EnsureColumnsExists(ColumnNames, DataRow.Table.TableName, CreateColumns);

            var Fields = ColumnNames
                         .ToJoinedString();

            var ParameterNames = ColumnNames
                                 .Select(ColumnName => ":" + ColumnName)
                                 .ToJoinedString();

            var ColumnNamesParameter = ColumnNames
                                       .Select(ColumnName => new SQLiteParameter(":" + ColumnName, DataRow[ColumnName]))
                                       .ToArray();

            return(SQLiteGateWay.Insert($"insert into {DataRow.Table.TableName} ({Fields}) values ({ParameterNames})", ColumnNamesParameter));
        }