Exemple #1
0
        private void columns_add_column_button_Click(object sender, EventArgs e)
        {
            var tableName  = dash_tables_listBox.SelectedItem?.ToString();
            var columns    = columns_add_columnNames_listBox.Items;
            var valueTypes = columns_add_valueTypes_listBox.Items;

            if (string.IsNullOrWhiteSpace(tableName) || columns.Count == 0 || valueTypes.Count == 0 || columns.Count != valueTypes.Count)
            {
                HandleError("Table name, columns, and value types must not be empty. Column and values count must match.");
                return;
            }

            var newTableDto = new AddNewTableDto()
            {
                TableName = $"{dash_statusStrip_schema_value.Text}.{tableName}",
                Columns   = new List <ColumnDto>()
            };

            for (var i = 0; i < columns.Count; i++)
            {
                newTableDto.Columns.Add(new ColumnDto
                {
                    ColumnName = columns[i].ToString(),
                    Value      = valueTypes[i].ToString()
                });
            }

            try
            {
                _sql.AddColumnToTable(newTableDto, connDto);

                WriteToLog("Successfully added columns to table:");
                WriteToLog(tableName);

                resetTableList();
                columns_add_columnNames_listBox.Items.Clear();
                columns_add_valueTypes_listBox.Items.Clear();
            }
            catch (Exception ex)
            {
                HandleError("Error adding columns to table:", ex);
                return;
            }
        }