Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.79/78: Рейтинг темы: голосов - 78, средняя оценка - 4.79
4 / 4 / 0
Регистрация: 10.10.2009
Сообщений: 301
1

Добавление столбца в таблицу БД

31.10.2010, 11:13. Показов 15558. Ответов 63
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Доброе утро.
Подскажите пожалуйста как программно добавить столбец в таблицу БД?
C#
1
katalogPlanDataSet.Oborud2.Columns.Add();
Так не ругается но и не добавляет, видимо потому что надо задавать все свойства.

Добавлено через 1 час 23 минуты
Вот так сделал, не ругается:
C#
1
katalogPlanDataSet.Oborud2.Columns.Add("Столбец", System.Type.GetType("System.String"));
После первого нажатия ничего не происходит. Если нажимаю добавить второй раз, то вылезает ошибка что такой столбце уже существует. А как сделать чтобы он появлялся для работы с ним=)
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
31.10.2010, 11:13
Ответы с готовыми решениями:

Добавление столбца в таблицу
Необходимо добавить столбец nalich в таблицу Sklad, если он не существует. При запуске выдаёт...

Добавление нового столбца в таблицу БД
ну вообщем ситуация такая: есть база данных на интербэйзе и прога для нее написанная на...

Программное добавление столбца в таблицу
На форуме уже рассмотрена тема программного создания таблицы: procedure...

Добавление нового столбца в таблицу
Adoquery1.close; Adoquery1.sql; Adoquery1.sql.add(alter table KTZ add...

63
6048 / 3457 / 335
Регистрация: 14.06.2009
Сообщений: 8,136
Записей в блоге: 2
06.12.2010, 08:31 41
Author24 — интернет-сервис помощи студентам
Порядок работы с udl-файлом:
1) Создаем пустой .txt-файл
2) Переименовываем его в файл с расширением .udl
3) Запускаем
4) Выбираем поставщика данных
5) Вводим имя серевера, к которому нужно подключится (вкладка подключение)
6) Если сервер удаленный, то заполняем поля "пользователь" и "пароль" (для локальной БД необязательно)
7) Жмем "Проверить подключение". Если все нормально, работаем дальше. Если ошибка, значит неправильно выполнен пункт 5 или 6, либо проблемы с настройкой/работой сервера
8) Выбираем из списка нужную БД
9) При необходимости заполняем другие параметры подключения
10) Закрываем (кнопка "Ok")
11) Открываем наш .udl при помощи блокнота и видим там нужную строку подключения

Описание составлено для поставщика SQL Server, для других поставщиков начиная с 5 пункта могут быть некоторые отличия.
0
4 / 4 / 0
Регистрация: 10.10.2009
Сообщений: 301
12.12.2010, 18:22  [ТС] 42
Вот что у меня получилось.
Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=KatalogPlanata Source=PILOTERIST\SQLEXPRESS

Только ругается на слэш в Data Sourse. Что делать в таком случае?
Попробовал поставить в другую сторону наклон. Ругать перестал но все равно зависает на той же строке.
0
6048 / 3457 / 335
Регистрация: 14.06.2009
Сообщений: 8,136
Записей в блоге: 2
12.12.2010, 18:50 43
Попробуй использовать в проге
"Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=KatalogPlan; Data Source=PILOTERIST\SQLEXPRESS"

параметр Provider не требуется и из-за него могут быть проблемы
0
4 / 4 / 0
Регистрация: 10.10.2009
Сообщений: 301
12.12.2010, 19:19  [ТС] 44
Теперь вылетает на самой строке где прописан коннект. Текст ошибки:
An OLE DB Provider was not specified in the ConnectionString. An example would be, 'Provider=SQLOLEDB;'.
0
6048 / 3457 / 335
Регистрация: 14.06.2009
Сообщений: 8,136
Записей в блоге: 2
12.12.2010, 19:40 45
Ты пользуешься не теми классами.
Для работы с БД SQL нужны классы Sql... (SqlConnection, SqlCommand и т.д.), а не Oledb...
0
4 / 4 / 0
Регистрация: 10.10.2009
Сообщений: 301
12.12.2010, 20:08  [ТС] 46
А как их подключить подскажите? А то ругается если просто поставить SqlConnection=)
0
6048 / 3457 / 335
Регистрация: 14.06.2009
Сообщений: 8,136
Записей в блоге: 2
12.12.2010, 20:18 47
piloterist, нужно подключить (using) пространства имен, к которым эти кассы относятся
0
4 / 4 / 0
Регистрация: 10.10.2009
Сообщений: 301
12.12.2010, 20:33  [ТС] 48
Ех, все равно упорно зависает на одном и том же месте.
C#
1
2
3
4
5
6
            SqlConnection sqlCon = new SqlConnection("Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=KatalogPlan;Data Source=SQLEXPRESS");
            sqlCon.Open();
            SqlCommand dcom = sqlCon.CreateCommand();
            dcom.CommandText =   "ALTER TABLE dbo.Oborud2 ADD тест nchar(10) NULL";
            dcom.ExecuteNonQuery();
            sqlCon.Close();
На provider ругался пришлось убрать.
0
6048 / 3457 / 335
Регистрация: 14.06.2009
Сообщений: 8,136
Записей в блоге: 2
12.12.2010, 20:40 49
У тебя же изначально было "... Data Source=PILOTERIST\SQLEXPRESS". Через udl подключение срабатывает?
0
4 / 4 / 0
Регистрация: 10.10.2009
Сообщений: 301
12.12.2010, 20:54  [ТС] 50
Да через udl пишет успешно тест прошел. Но через слэш не дает записать PILOTERIST\SQLEXPRESS пишет ошибку при компиляции "Unrecognized escape sequence"
0
6048 / 3457 / 335
Регистрация: 14.06.2009
Сообщений: 8,136
Записей в блоге: 2
12.12.2010, 21:01 51
SqlConnection sqlCon = new SqlConnection(@"Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=KatalogPlan; Data Source=PILOTERIST\SQLEXPRESS");
или SqlConnection sqlCon = new SqlConnection("Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=KatalogPlan; Data Source=PILOTERIST\\SQLEXPRESS");
1
4 / 4 / 0
Регистрация: 10.10.2009
Сообщений: 301
12.12.2010, 21:08  [ТС] 52
УРА прошло. Теперь вылетело на
C#
1
            dcom.ExecuteNonQuery();
0
6048 / 3457 / 335
Регистрация: 14.06.2009
Сообщений: 8,136
Записей в блоге: 2
12.12.2010, 21:30 53
piloterist, неправильно составлен запрос (скорее всего)
1
4 / 4 / 0
Регистрация: 10.10.2009
Сообщений: 301
12.12.2010, 21:51  [ТС] 54
Чето я туплю. Столбец появился в базе данных, просто он не отображается.
Есть идеи как это исправить?)
В DataGridView как было 3 столбца так 3 и осталось, хотя в таблице их уже пять.
0
6048 / 3457 / 335
Регистрация: 14.06.2009
Сообщений: 8,136
Записей в блоге: 2
12.12.2010, 21:56 55
где не отображается?
0
4 / 4 / 0
Регистрация: 10.10.2009
Сообщений: 301
12.12.2010, 22:10  [ТС] 56
В программе в DataGridView к которой подключена таблица БД. Видимо тоже надо както обновлять. Может DataSet как то обновлять
0
6048 / 3457 / 335
Регистрация: 14.06.2009
Сообщений: 8,136
Записей в блоге: 2
12.12.2010, 22:13 57
покажи как заполняешь DataGridView
0
4 / 4 / 0
Регистрация: 10.10.2009
Сообщений: 301
12.12.2010, 22:25  [ТС] 58
Всмысле как заполняю? Никак не заполняю. Я к нему подключил таблицу БД, и при добавлении новой строки запускаю обновление.
C#
1
   oborud2TableAdapter.Update(katalogPlanDataSet.Oborud2);
Но столбец таким методом не добавляется =)
0
6048 / 3457 / 335
Регистрация: 14.06.2009
Сообщений: 8,136
Записей в блоге: 2
12.12.2010, 22:27 59
Цитата Сообщение от piloterist Посмотреть сообщение
Никак не заполняю.
т.е. подключение создавалось автоматом?
покажи мне метод Form_Load
0
4 / 4 / 0
Регистрация: 10.10.2009
Сообщений: 301
12.12.2010, 22:39  [ТС] 60
Угу автоматом.
C#
1
2
3
4
5
6
       private void Form3_Load(object sender, EventArgs e)
        {
            // TODO: This line of code loads data into the 'katalogPlanDataSet.Oborud2' table. You can move, or remove it, as needed.
            this.oborud2TableAdapter.Fill(this.katalogPlanDataSet.Oborud2);
            dataGridView1.AllowUserToAddRows = false;
        }
0
12.12.2010, 22:39
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
12.12.2010, 22:39
Помогаю со студенческими работами здесь

Добавление нового столбца в таблицу БД
Есть БД Access 2007. Никак не могу найти добавления нового столбца в таблицу,т.е при нажатии на...

Запрос на добавление столбца в таблицу
вот такой запрос нужно сделать,по поводу добавления строки я разобрался а вот столбец никак не могу...

Программное добавление столбца в таблицу
Возможно ли с помощью программного кода добавить столбец в таблицу?Если возможно, то как?

Добавление столбца в таблицу с изменяющейся структурой
Добрый день, уважаемые форумчане. Подскажите пожалуйста по следующему вопросу... Есть табличка,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
60
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru