Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Работа с данными

Страница: 1 |

 

  Вопрос: Создание и дополнение бай данных. Добавлено: 25.03.06 19:39  

Автор вопроса:  ZoomerSD | ICQ: 148640473 
Госопода программисты, подскажите пожалуйста, как на Vb создать новую базу данных db или mdb, моздать в существующей новую таблицу, и создать в существующей таблице новый столбец?
Заранее спасибо.

Ответить

  Ответы Всего ответов: 4  

Номер ответа: 1
Автор ответа:
 [root]



Вопросов: 45
Ответов: 1212
 Web-сайт: bit.pirit.info
 Профиль | | #1
Добавлено: 25.03.06 20:37
дык зайди в примерах, должно быть

Ответить

Номер ответа: 2
Автор ответа:
 Alexandrus



ICQ: 496782368 

Вопросов: 18
Ответов: 312
 Web-сайт: starsorion.com
 Профиль | | #2
Добавлено: 25.03.06 23:16
ZoomerSD:
На vbrussian.com\Статьи было две статьи по интересующему тебя вопросу.
1.Программное создание базы данных с помощью ADOX - Часть 1
http://www.vbrussian.com/Article.asp?ID=78

2.Программное создание базы данных с помощью ADOX - Часть 2
http://www.vbrussian.com/Article.asp?ID=80

С ув.Alex

Ответить

Номер ответа: 3
Автор ответа:
 HACKER


 

Разработчик Offline Client

Вопросов: 236
Ответов: 8362
 Профиль | | #3 Добавлено: 27.03.06 22:07
Уточни какими средствами?

DAO or ADO?

Ответить

Номер ответа: 4
Автор ответа:
 sne



Разработчик Offline Client

ICQ: 233286456 

Вопросов: 34
Ответов: 5445
 Web-сайт: hw.t-k.ru
 Профиль | | #4
Добавлено: 27.03.06 22:25
(c) ms-black offline client

Option Explicit
Public Function CreateStructDB() As Long
On Error GoTo EndCreateStructDB
    Const StructSize = 46 'сумма количество таблиц и количества полей в них, минус 1 (конец массива)
    Dim MyDBase As DAO.Database 'база данных
    Dim MyTable As DAO.TableDef 'таблица
    Dim MyField As DAO.Field    'столбец
    Dim MyIndex As DAO.Index    'индекс
    Dim Names() As String  'названия таблиц и полей
    Dim Types() As Variant 'типы полей (таблица=0)
    Dim Sizes() As Variant 'размеры текстовых полей
    Dim i As Integer
    Names = Split("AUTORS ID USERNAME FIRSTNAME LASTNAME AGE CITY MAIL WWW ICQ ANSWERS QUESTION SABOTAGES_RULES LAST_IN IS_ADMIN DATE_REG DATE_LAST_UPDATE_PROF FORUMS ID NAME DESCRIPTION TYPE IN_ANSWERS ID ID_QUESTION ID_IMAGE ID_AUTOR DATE_ADD TEXT IS_READ IN_QUESTIONS ID ID_FORUM ID_IMAGE ID_AUTOR SUBJECT DATE TEXT LAST_DATA_ANSWER IS_READ OUTBOX ID ID_FORUM ID_TOPIC ID_IMAGE SUBJECT TEXT", " ", -1)
    Types() = Array(0, 4, 10, 10, 10, 10, 10, 10, 10, 10, 4, 4, 2, 8, 1, 8, 8, 0, 4, 10, 12, 4, 0, 4, 4, 4, 4, 8, 12, 1, 0, 4, 4, 4, 4, 10, 8, 12, 8, 1, 0, 4, 4, 4, 4, 10, 10)
    Sizes() = Array(0, 0, 255, 50, 50, 50, 64, 255, 255, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 50)
    Set MyDBase = DBEngine.CreateDatabase(App.Path & "\DataBase\vbnet.mdb", dbLangCyrillic)
    For i = 0 To StructSize
        'в этом цикле создаем все таблицы, поля и индексы
        If Types(i) = 0 Then
            'таблица
            Set MyTable = MyDBase.CreateTableDef(Names(i))
        Else
            'поле
            If Sizes(i) = 0 Then
                'не текстовое поле
                Set MyField = MyTable.CreateField(Names(i), Types(i))
            Else
                'текстовое поле
                Set MyField = MyTable.CreateField(Names(i), 10, Sizes(i))
            End If
            MyTable.Fields.Append MyField
            If Names(i) = "ID" Then
                'здесь создаются индесы таблиц
                Set MyIndex = MyTable.CreateIndex("PrimaryKey";)
                MyIndex.Primary = True
                Set MyField = MyIndex.CreateField(Names(i), Types(i))
                MyIndex.Fields.Append MyField
                MyTable.Indexes.Append MyIndex
            End If
            If i = StructSize Then
                'если это последний элемент (поле) в массиве
                MyDBase.TableDefs.Append MyTable
            ElseIf Types(i + 1) = 0 Then
                'если после элемента (поля) идет таблица
                MyDBase.TableDefs.Append MyTable
            End If
        End If
    Next 'i
    MyDBase.TableDefs.Refresh
    Set MyIndex = Nothing 'освободить экземпляр объекта
    Set MyField = Nothing 'освободить экземпляр объекта
    Set MyTable = Nothing 'освободить экземпляр объекта
    Set MyDBase = Nothing 'освободить экземпляр объекта
    CreateStructDB = 0
    Exit Function
EndCreateStructDB:
    Debug.Print "Error #" & Err.Number & " Into " & Err.Source & ": " & Err.Description
    CreateStructDB = Err.Number
End Function

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам