Не создается таблица в Access DB файле.

Форум посвящён работе с базами данных в .NET.

Модератор: Ramzes

matdilon
Начинающий
Начинающий
 
Сообщения: 12
Зарегистрирован: 10.08.2010 (Вт) 23:20

Не создается таблица в Access DB файле.

Сообщение matdilon » 29.08.2010 (Вс) 14:47

Не создается таблица в Access DB файле.

Не создается таблица в Access DB файле.
Сначала создается access DB файл; следом создается таблица member. Далее на форме человеку предлагается вписать своем имя в TextBox1 и нажав кнопку Button1 создать одноименное поле в таблице member.
Ошибка возникает на этапе попытки создания таблицы. Подскажите, пожалуйста.

http://i9.fastpic.ru/big/2010/0829/59/3 ... f7e259.jpg

Код: Выделить всё
Imports SYSTEM.DATA.OleDb
Imports SYSTEM.Windows.Forms
Imports SYSTEM.IO

Public Class Form1

    DIM n AS INTEGER
    DIM myFRead AS FileStream
    DIM textFRead AS StreamReader
    DIM x AS INTEGER

    Private SUB Form1_Load(BYVAL sender AS SYSTEM.Object, BYVAL e AS SYSTEM.EventArgs) Handles MyBase.Load
        TextBox1.Text = Nothing
        Button1.Text = "Далее"
        DIM cat AS New ADOX.Catalog
        Try
            cat.Create("Provider=Microsoft.ACE.OleDb.12.0; Data Source=""C:\DB_organon.accdb""")
        Catch ex AS Runtime.InteropServices.COMException
            MessageBox.Show("База данных создана")
        Finally
        END Try

        DIM CON = New OleDbConnection("Provider=Microsoft.ACE.OleDb.12.0; Data Source=""C:\DB_organon.accdb""")
        CON.OPEN()
        DIM COMMAND AS New OleDbCommand("CREATE TABLE member", CON)
        Try
            COMMAND.ExecuteNonQuery()
            MessageBox.Show("Таблица создана")
        Catch ex AS Exception
            MessageBox.Show("Таблица не создана")
        END Try

    END SUB

    Private SUB Button1_Click(BYVAL sender AS SYSTEM.Object, BYVAL e AS SYSTEM.EventArgs) Handles Button1.Click

        DIM CON = New OleDbConnection("Provider=Microsoft.ACE.OleDb.12.0; Data Source=""C:\DB_organon.accdb""")
        CON.OPEN()
        DIM COMMAND2 AS New OleDbCommand("INSERT INTO member (" & TextBox1.Text & ")", CON)
        COMMAND2.Connection = CON
        Try
            COMMAND2.ExecuteNonQuery()
            MessageBox.Show("Поле вставлено")
        Catch ex AS Exception
            MessageBox.Show("Поле не вставлено")
        END Try

        CON.CLOSE()
    END SUB

END Class


FireFenix
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1640
Зарегистрирован: 25.05.2007 (Пт) 10:24
Откуда: Mugen no Sora

Re: Не создается таблица в Access DB файле.

Сообщение FireFenix » 29.08.2010 (Вс) 16:14

matdilon писал(а):Ошибка возникает на этапе попытки создания таблицы. Подскажите, пожалуйста.
Код: Выделить всё
"CREATE TABLE member"

1) Кури SQL!!!
Таблица обязательно должна содержать хотя бы 1 столбец (обычно - индексный id INT NOT NULL PRIMARY KEY)

Код: Выделить всё
CREATE TABLE member(id INT NOT NULL PRIMARY KEY)


создать одноименное поле
Код: Выделить всё
"INSERT INTO member (" & TextBox1.Text & ")"

2) Ещё раз курить SQL!!!
a) Если поле == столбец, то ALTER TABLE table1 ADD column [тип + параметры]
b) Если значение или кортеж, то INSERT INTO table1(column1, column2, ...) VALUES (value1, value2, ...)
Птицей Гермеса меня называют, свои крылья пожирая... сам себя я укрощаю
私はヘルメスの鳥 私は自らの羽根を喰らい 飼い慣らされる

FireFenix
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1640
Зарегистрирован: 25.05.2007 (Пт) 10:24
Откуда: Mugen no Sora

Re: Не создается таблица в Access DB файле.

Сообщение FireFenix » 29.08.2010 (Вс) 18:06

matdilon писал(а):
Код: Выделить всё
CREATE TABLE member(Primary char 20)

Код: Выделить всё
CREATE TABLE member([Primary] char(20) NULL)

Неужели так сложно найти в интернете синтаксис команды, прочитать ошибку и сопоставить полученные данные?
Птицей Гермеса меня называют, свои крылья пожирая... сам себя я укрощаю
私はヘルメスの鳥 私は自らの羽根を喰らい 飼い慣らされる


Вернуться в ADO.NET

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

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 9

    TopList  
cron