Форум программистов, компьютерный форум, киберфорум
Visual Basic .NET
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.63/8: Рейтинг темы: голосов - 8, средняя оценка - 4.63
263 / 215 / 53
Регистрация: 01.08.2016
Сообщений: 828
1

Ошибка "недопустимое имя таблицы"

30.12.2020, 18:42. Показов 1556. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Суть проблемы такова. По нажатию кнопки в БД создается таблица. Все прекрасно код работает таблица создается, но если ввести другое имя и еще раз нажать кнопку, то выскакивает ошибка : "недопустимое имя таблицы", хотя имя таблицы другое и не содержит никаких таких симвоов. Если форму закрыть и снова открыть, то таблицу с таким именем создать можно. Получается что нельзя создавать более одной таблицы за один раз. БД на базе Акссес файл с расширением .mdb. Вот коды на создание таблиц:
VB.NET
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
Private Sub Создать_табл_Click(sender As Object, e As EventArgs) Handles Button1.Click
        Dim nmtb As String
        For Each nm As String In ComboBox1.Items
            If nm = TextBox1.Text Then
                TextBox1.Text = " "
                MsgBox("Введите другое название таблицы")
                Exit Sub
            End If
        Next
        If TextBox1.Text = " " Then
            MsgBox("Введите название таблицы")
            Exit Sub
        Else
            nmtb = CStr(TextBox1.Text)
            Con1.Open()
            SqlCom = New OleDb.OleDbCommand("CREATE TABLE [" & nmtb & "] (  [ID] Long Not NULL IDENTITY(1, 1) PRIMARY KEY,  [tip] VarChar(254) Not NULL,  [marca] VarChar(254) Not NULL,  [cod] VarChar(254) Not NULL,  [factori] VarChar(254) Not NULL, [edizm] VarChar(254) Not NULL,  [colvo] Double Not NULL,   [massa] Double Not NULL,  [remark] VarChar(254) Not NULL)", Con1)
            SqlCom.ExecuteNonQuery()
            Con1.Close()
            RefCMB1()
            TextBox1.Text = " "
            nmtb = " "
        End If
 
    End Sub
Процедура получения имен всех таблиц и занесением их в комбобокс:
VB.NET
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
Private Sub RefCMB1()
        Con1.Open()
        dan1.SelectCommand = New OleDb.OleDbCommand("Select Name from Msysobjects where type = 1", Con1)
        Dim tbl As DataTable
        tbl = Con1.GetOleDbSchemaTable(OleDb.OleDbSchemaGuid.Tables, New Object() {Nothing, Nothing, Nothing, "Table"})
        ComboBox1.Items.Clear()
        For i = 0 To tbl.Rows.Count - 1
            ComboBox1.Items.Add((tbl.Rows(i)!Table_Name.ToString))
        Next
        Con1.Close()
        If ComboBox1.Items.Count > 0 Then
            ComboBox1.Text = ComboBox1.Items(0)
        Else
            ComboBox1.Text = " "
            Exit Sub
        End If
 
    End Sub
Ошибка вылетает в этой строке:
VB.NET
1
SqlCom.ExecuteNonQuery()
Заранее благодарен запомощь
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
30.12.2020, 18:42
Ответы с готовыми решениями:

Ошибка недопустимое имя объекта
В чем ошибка? Сам код: SqlConnection BegishevPraktika = new SqlConnection("Data...

Подключение к Access 2007 и ошибка "Недопустимое имя файла"
Здравствуйте .. Впервые подключаюсь из C# в ACCESS 2007 и возникает ошибка: Недопустимое имя...

Вход пользователя и ошибка "Недопустимое имя столбца"
Здравствуйте, помогите разобраться с причиной ошибки. Имеется форма входа пользователя. Вводится...

Ошибка "недопустимое имя объекта" при использовании LINQ to SQL
Здравствуйте, уважаемые форумчане! Я начинающий разработчик ASP.NET MVC. Сейчас создаю тестовый...

3
help
4580 / 4167 / 815
Регистрация: 13.04.2015
Сообщений: 9,136
30.12.2020, 19:15 2
Цитата Сообщение от andrsh Посмотреть сообщение
TextBox1.Text = " "
Цитата Сообщение от andrsh Посмотреть сообщение
ComboBox1.Text = " "
Цитата Сообщение от andrsh Посмотреть сообщение
nmtb = " "
Зачем вы так делаете?
1
4689 / 3643 / 856
Регистрация: 02.02.2013
Сообщений: 3,498
Записей в блоге: 2
30.12.2020, 20:01 3
andrsh, попробуйте так
VB.NET
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
    tbCreate(TextBox1.Text, Path.Combine(Application.StartupPath, "test.mdb"))
End Sub
Public conn As OleDbConnection
Private Sub tbCreate(ByVal tbName As String, ByVal dbPath As String)
    Dim connString As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & dbPath & ";Password=;"
    conn = New OleDbConnection(connString)
    If openConnection() Then
        Dim qq As String = "CREATE TABLE [" & tbName & "] (  [ID] Long Not NULL IDENTITY(1, 1) PRIMARY KEY,  [tip] VarChar(254) Not NULL,  [marca] VarChar(254) Not NULL,  [cod] VarChar(254) Not NULL,  [factori] VarChar(254) Not NULL, [edizm] VarChar(254) Not NULL,  [colvo] Double Not NULL,   [massa] Double Not NULL,  [remark] VarChar(254) Not NULL)"
        Using SqlCom = New OleDbCommand(qq, conn)
            SqlCom.ExecuteNonQuery()
        End Using
    End If
    conn.Close()
End Sub
1
263 / 215 / 53
Регистрация: 01.08.2016
Сообщений: 828
31.12.2020, 11:54  [ТС] 4
Оказывается что не так надо записывать
VB.NET
1
 = " "
а
VB.NET
1
 = Nothing
переделал сразу все стало нормально.
0
31.12.2020, 11:54
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
31.12.2020, 11:54
Помогаю со студенческими работами здесь

Ошибка "недопустимое Имя Объекта"
использую visual studio 2010. Создал 3 таблицы в базе data,datab,datao. создал подключение к ней....

Ошибка System.Data.SqlClient.SqlException: "Недопустимое имя объекта "kursova9"."
Добрый день. Не могу понять в чем дело. Выскакивает ошибка: System.Data.SqlClient.SqlException:...

Ошибка при передаче файла по FTP "Недопустимое имя файла"
Пытаюсь создать и отправить txt файл через ftp. Вот на форуме нашёл код: private void...

Недопустимое имя столбца
Есть база данных в SQL Server, поля которой: CarID, Make, Name. При создании команды пишу ...

Недопустимое имя столбца
Когда пытаюсь добавить запись в dgv Он мне выдает ошибку - Вот код формы "Добавить" - ...

Недопустимое имя файла
При добавлении данных,выдает вот это: Вот код: using System; using System.Collections.Generic;...

Недопустимое имя файла
Пытаюсь подключиться к access 2013 через C#. Вот код: OleDbConnection conn = new...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Почему при инициализации массива 3х3х3 будет создано 13 одномерных массивов?
Alexander-7 16.01.2025
При инициализации многомерного массива, в данном случае трехмерного массива размерностью 3x3x3, может возникнуть путаница относительно того, как структура данных организована в памяти. Общее число. . .
Использование связки C# и PHP в корпоративной разработке и микросервисной архитектуре
InfoMaster 16.01.2025
Введение в интеграцию C# и PHP В современной корпоративной разработке все чаще возникает потребность в создании гибких и масштабируемых решений, способных эффективно решать широкий спектр. . .
Как использовать Kerio дома для управления сетью и пользователями
InfoMaster 16.01.2025
Использование технологий для улучшения повседневной жизни стало неотъемлемой частью современного быта. Одной из таких технологий является Kerio — мощный инструмент для управления сетью и. . .
Есть ли будущее у DVD и Blu-ray?
InfoMaster 16.01.2025
В эпоху стремительного развития цифровых технологий и повсеместного распространения потоковых сервисов вопрос о будущем физических носителей информации становится все более актуальным. Особенно остро. . .
Как проводить научные вычисления на Python
InfoMaster 15.01.2025
Python стал одним из наиболее востребованных языков программирования в области научных вычислений благодаря своей простоте, гибкости и обширной экосистеме специализированных библиотек. Научные. . .
Создание игры типа Minecraft на PyGame/Python: пошаговое руководство
InfoMaster 15.01.2025
В данном руководстве мы рассмотрим процесс создания игры в стиле Minecraft с использованием библиотеки PyGame на языке программирования Python. Этот проект идеально подходит как для начинающих. . .
Как создать свою первую игру в стиле Doom на Unreal Engine
InfoMaster 15.01.2025
Разработка шутера от первого лица в стиле классического Doom представляет собой увлекательное путешествие в мир игрового программирования, где сочетаются творческий подход и технические навыки. . . .
Параллельное программировани­е: основные технологии и принципы
InfoMaster 15.01.2025
Введение в параллельное программирование Параллельное программирование представляет собой фундаментальный подход к разработке программного обеспечения, который позволяет одновременно выполнять. . .
Как написать микросервис на C# с Kafka, MediatR, Redis и GitLab CI/CD
InfoMaster 15.01.2025
В современной разработке программного обеспечения микросервисная архитектура стала стандартом де-факто для создания масштабируемых и гибких приложений. Этот подход позволяет разделить сложную систему. . .
Что такое CQRS и как это реализовать на C# с MediatR
InfoMaster 15.01.2025
Концепция CQRS и её роль в современной разработке В современном мире разработки программного обеспечения архитектурные паттерны играют ключевую роль в создании масштабируемых и поддерживаемых. . .
Как настроить CI/CD с Azure DevOps
InfoMaster 15.01.2025
CI/ CD, или непрерывная интеграция и непрерывное развертывание, представляет собой современный подход к разработке программного обеспечения, который позволяет автоматизировать и оптимизировать процесс. . .
Как настроить CI/CD с помощью Jenkins
InfoMaster 15.01.2025
Введение в CI/ CD и Jenkins В современной разработке программного обеспечения непрерывная интеграция (CI) и непрерывная доставка (CD) стали неотъемлемыми элементами процесса создания качественных. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru