Как добавить новое поле в таблицу?

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Slavicos
Начинающий
Начинающий
 
Сообщения: 17
Зарегистрирован: 16.11.2005 (Ср) 17:04

Как добавить новое поле в таблицу?

Сообщение Slavicos » 24.11.2005 (Чт) 12:40

Надо добавить новое поле (столбец) в уже имеющуюся таблицу в базе данных.
Больно не бить!

Konst_One
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
Аватара пользователя
 
Сообщения: 3041
Зарегистрирован: 09.04.2004 (Пт) 13:47
Откуда: Химки

Сообщение Konst_One » 24.11.2005 (Чт) 12:46

Код: Выделить всё
ALTER TABLE ADD MyColumn varchar(16)

Slavicos
Начинающий
Начинающий
 
Сообщения: 17
Зарегистрирован: 16.11.2005 (Ср) 17:04

Сообщение Slavicos » 24.11.2005 (Чт) 13:54

А вот нифигулечки.

Или какая то подготовка требуется.

Пишет "ожидается конец выражения" и выделяет слово add.
Больно не бить!

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 24.11.2005 (Чт) 14:07

А как пишешь?
Надеюсь, не в IDE?
Lasciate ogni speranza, voi ch'entrate.

Slavicos
Начинающий
Начинающий
 
Сообщения: 17
Зарегистрирован: 16.11.2005 (Ср) 17:04

Сообщение Slavicos » 24.11.2005 (Чт) 14:39

Умные все (кроме меня, конечно - посыпаю голову пеплом)! А как надо-то?

Или примерчик "в три строчки" :-)
Всего-то надо добавить поле dbMemo с именем типа Me.Text3.Text в таблицу ... ну, например, strTableName из БД strDBName.
Больно не бить!

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 24.11.2005 (Чт) 14:53

Подключаешься к БД (искать по слову ADODB.Connection) и посылаешь эту команду (искать по слову Execute).
Lasciate ogni speranza, voi ch'entrate.

Slavicos
Начинающий
Начинающий
 
Сообщения: 17
Зарегистрирован: 16.11.2005 (Ср) 17:04

Сообщение Slavicos » 24.11.2005 (Чт) 15:22

Ну ...
Это уже конкретная задача к поиску.
Спасибо.
Больно не бить!

Slavicos
Начинающий
Начинающий
 
Сообщения: 17
Зарегистрирован: 16.11.2005 (Ср) 17:04

Сообщение Slavicos » 24.11.2005 (Чт) 17:08

А что за дела ?

Вылезает ошибка:
"Run-time error '-2147467259 (80004005)':
[Microsoft][ODBC Driver Manager] Data sourse name not found and no
default driver specified"

Эта ошибка вылезает на словах:
Con.Open

Подключено:
Microsoft ActiveX Data Objects (Multi-dimensional) 2.7 Library
Microsoft ActiveX Data Objects 2.0 Library
Microsoft ActiveX Data Objects Recordset 2.7 Library
Больно не бить!

Slavicos
Начинающий
Начинающий
 
Сообщения: 17
Зарегистрирован: 16.11.2005 (Ср) 17:04

Сообщение Slavicos » 24.11.2005 (Чт) 17:12

А что за дела ?

Вылезает ошибка:
"Run-time error '-2147467259 (80004005)':
[Microsoft][ODBC Driver Manager] Data sourse name not found and no
default driver specified"

Эта ошибка вылезает на словах:
Con.Open

Подключено:
Microsoft ActiveX Data Objects (Multi-dimensional) 2.7 Library
Microsoft ActiveX Data Objects 2.0 Library
Microsoft ActiveX Data Objects Recordset 2.7 Library
Больно не бить!

Konst_One
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
Аватара пользователя
 
Сообщения: 3041
Зарегистрирован: 09.04.2004 (Пт) 13:47
Откуда: Химки

Сообщение Konst_One » 24.11.2005 (Чт) 18:28

connectionstring - тебе нужен к твоему источнику правильно указать, см примеры и поиск по форуму

GB826
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 312
Зарегистрирован: 04.08.2005 (Чт) 0:58
Откуда: Планета #3

Сообщение GB826 » 24.11.2005 (Чт) 18:29

Data soursename not found and no
default driver specified"


Забавно :о)

А код можно?
Пора уже всем хорошим людям собраться и убить всех плохих людей.

Slavicos
Начинающий
Начинающий
 
Сообщения: 17
Зарегистрирован: 16.11.2005 (Ср) 17:04

Сообщение Slavicos » 25.11.2005 (Пт) 9:07

Да легко. Вот отрывок:

Код: Выделить всё

    Dim Con As ADODB.Connection

'теперь добавим новое поле в БД, учитывая, что по итогам предыдущих проверок,
'такая БД есть, такая таблица есть и такого поля нет
    Set Con = New ADODB.Connection
    Con.ConnectionString = "dsn=" & Me.Text1.Text
    Con.Open
    Con.Execute ("ALTER " & me.text2.text & " ADD " & me.Text3.text & " dbmemo")
    Con.Close
    Set Con = Nothing


Предполагается (да так и есть), что файл *.mdb лежит вместе с программой.
Кстати, в следующих строках
Con.ConnectionString = "dsn=" & Me.Text1.Text
и
Con.Execute ("ALTER " & me.text2.text & " ADD " & me.Text3.text & " dbmemo")
пробовал и с кавычками и с другим расположением кавычек, но вообще, наверно, провильно именно так.
Больно не бить!

Konst_One
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
Аватара пользователя
 
Сообщения: 3041
Зарегистрирован: 09.04.2004 (Пт) 13:47
Откуда: Химки

Сообщение Konst_One » 25.11.2005 (Пт) 13:09

ODBC DSN создал к своей базе с именем , которое ты в Me.Text1 вводишь:?:

Slavicos
Начинающий
Начинающий
 
Сообщения: 17
Зарегистрирован: 16.11.2005 (Ср) 17:04

Сообщение Slavicos » 29.11.2005 (Вт) 12:56

Да, именно так.

Вводится имя базы данных, имя таблицы и имя нового поля.
Больно не бить!


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: Google-бот, Majestic-12 [Bot], Yandex-бот и гости: 199

    TopList  
cron