Форум программистов, компьютерный форум, киберфорум
Visual Basic .NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.63/8: Рейтинг темы: голосов - 8, средняя оценка - 4.63
-4 / 4 / 0
Регистрация: 21.09.2015
Сообщений: 333

Ошибка при записи в базу

06.08.2017, 13:24. Показов 1673. Ответов 17

Студворк — интернет-сервис помощи студентам
VB.NET
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
Imports System.Data.OleDb
Imports System.Data.SqlClient
Imports System.IO
 
Public Class Form1
 
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
 
        Dim con As New OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=|DataDirectory|\hr1.accdb;Persist Security Info=True")
 
        Dim cmd As New OleDbCommand
 
        con.Open()
 
        cmd.Connection = con
 
        cmd.CommandText = " INSERT INTO table Таблица1([код], [дата и время]) VALUES (119, '6/16/2001'" 'TEXT - тесктовое, нулевое значение разрешено
 
        cmd.ExecuteNonQuery()
        MsgBox("Запись успешно добавлена!", MsgBoxStyle.Information)
    End Sub
End Class
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
06.08.2017, 13:24
Ответы с готовыми решениями:

Ошибка при записи в базу данных
Гдето не допонимаю объясните сильно не ругайтесь я новичок в делфи procedure TF_CRM.FormClose(Sender: TObject; var Action:...

Ошибка при добавлении записи в базу данных
При добавлении записи в базу возникает ошибка. Помогите разобраться. const String ConnStr = "Provider=%s;Data...

Фантастическая ошибка при записи в базу данных PostgreSQL
Фантастичность ошибки записи, что идет раздвоение через if. Одна ветвь при одном значении, другая при другом. Есть одинаковый кусок кода,...

17
 Аватар для l34ddx
69 / 66 / 23
Регистрация: 23.07.2014
Сообщений: 121
06.08.2017, 14:33
Подозреваю , что ошибка из за формата даты.
Сам с таким сталкивался
В своём случае записывал дату так
VB.NET
1
Format(Datetimepicker1.Value, "yyyy-MM-dd")
А вообще неплохо было бы описать ошибку или добавить скриншот
0
 Аватар для XIST
1960 / 1070 / 148
Регистрация: 01.10.2009
Сообщений: 3,591
Записей в блоге: 1
06.08.2017, 14:50
kshyms, используйте параметры
VB.NET
1
2
3
4
cmd.CommandText = " INSERT INTO table Таблица1([код], [дата и время]) VALUES (119, @dt)"
значение разрешено
cmd.Parameters.Add(New System.Data.OleDb.OleDbParameter("@dt", System.Data.OleDb.OleDbType.DBDate))
cmd.Parameters(0).Value = DateTimePicker1 'наприме
1
 Аватар для l34ddx
69 / 66 / 23
Регистрация: 23.07.2014
Сообщений: 121
06.08.2017, 15:09
Слово "table" из CommandText нужно убрать , иначе "Ошибка синтаксиса INSERT INTO"
1
-4 / 4 / 0
Регистрация: 21.09.2015
Сообщений: 333
06.08.2017, 17:08  [ТС]
VB.NET
1
cmd.CommandText = ("INSERT INTO Таблица1([код],[дата и время]) VALUES (19,'6/16/2001')")
код рабочийl34ddx, XIST, отлично

Добавлено через 14 минут
VB.NET
1
        cmd.CommandText = ("INSERT INTO Таблица1([дата и время]) VALUES (DataGridView1.Rows(i).Cells(0).Value)")
А здесь какой синтаксис?
0
 Аватар для XIST
1960 / 1070 / 148
Регистрация: 01.10.2009
Сообщений: 3,591
Записей в блоге: 1
06.08.2017, 17:16
kshyms, Дык такой же) такой же параметр сделайте
0
-4 / 4 / 0
Регистрация: 21.09.2015
Сообщений: 333
06.08.2017, 17:25  [ТС]
VB.NET
1
cmd.CommandText = ("INSERT INTO Таблица1([дата и время]) VALUES (='" & DataGridView1.Rows(i).Cells(0).Value) & "')"
ответ найден
0
-4 / 4 / 0
Регистрация: 21.09.2015
Сообщений: 333
09.08.2017, 06:28  [ТС]
VB.NET
1
2
    cmd.CommandText = ("INSERT INTO Таблица1([код],[дата и время]) VALUES (='" &i& "'),(='" & DataGridView1.Rows(i).Cells(0).Value) & "')"
            cmd.ExecuteNonQuery()
опять синтаксис
0
Эксперт .NET
 Аватар для Usaga
14145 / 9374 / 1350
Регистрация: 21.01.2016
Сообщений: 35,293
09.08.2017, 06:42
kshyms, обратите внимание как параметры в запросы передаёт XIST в посте #3 и сравните с дичью, что написали вы. А потом постарайтесь сделать вывод.
0
 Аватар для l34ddx
69 / 66 / 23
Регистрация: 23.07.2014
Сообщений: 121
09.08.2017, 08:32
Ваш запрос должен выглядеть так , а если по-правильному , то прислушайтесь к XIST и Usaga - работайте через параметры (это намного лучше чем писать километровые запросы)
VB.NET
1
2
    cmd.CommandText = ("INSERT INTO Таблица1([код],[дата и время]) VALUES ('" & i & "','" & DataGridView1.Rows(i).Cells(0).Value & "')"
            cmd.ExecuteNonQuery()
P.S. Ваш текущий запрос имеет 2 значения полей для вставки в таблицу , а представьте если их будет штук двадцать...
0
-4 / 4 / 0
Регистрация: 21.09.2015
Сообщений: 333
09.08.2017, 13:08  [ТС]
VB.NET
1
2
3
4
cmd.CommandText = ("INSERT INTO Таблица1([дата и время]) VALUES (='" & DataGridView1.Rows(i).Cells(0).Value) & "')"
            cmd.ExecuteNonQuery()
            cmd.CommandText = ("INSERT INTO Таблица1([температура С0]) VALUES (='" & DataGridView1.Rows(i).Cells(1).Value) & "')"
            cmd.ExecuteNonQuery()
размер кода не волнует главное откуда приращение по строкам
Миниатюры
Ошибка при записи в базу  
0
Администратор
Эксперт .NET
 Аватар для OwenGlendower
18283 / 14206 / 5368
Регистрация: 17.03.2014
Сообщений: 28,884
Записей в блоге: 1
09.08.2017, 13:22
kshyms, INSERT запрос создает новую строку. Ты делаешь два INSERT и получаешь две строки. Нужно делать один INSERT указав значения всех колонок.
0
-4 / 4 / 0
Регистрация: 21.09.2015
Сообщений: 333
09.08.2017, 15:20  [ТС]
l34ddx,
VB.NET
1
2
cmd.CommandText = ("INSERT INTO Таблица1([код],[дата и время]) VALUES ('" & i & "','" & DataGridView1.Rows(i).Cells(0).Value & "')"
            cmd.ExecuteNonQuery()
У Вас тоже ошибка в синтаксисе.

Добавлено через 56 минут
VB.NET
1
2
3
4
5
  For j = 1 To 25
                kr(i, j) = DataGridView1.Rows(i).Cells(j - 1).Value
                   cmd.CommandText = ("INSERT INTO Таблица1.Rows(i)(j) VALUES (='" &kr(i, 1)& "')"
                cmd.ExecuteNonQuery()
            Next j
Может этот метод лучше чтоб сократить код? Но все равно синтаксическую ошибку выдает.
0
Администратор
Эксперт .NET
 Аватар для OwenGlendower
18283 / 14206 / 5368
Регистрация: 17.03.2014
Сообщений: 28,884
Записей в блоге: 1
09.08.2017, 15:23
Цитата Сообщение от kshyms Посмотреть сообщение
Может
Может лучше изучить синтаксис SQL для начала?
1
-4 / 4 / 0
Регистрация: 21.09.2015
Сообщений: 333
09.08.2017, 15:52  [ТС]
да стоит изучить.
VB.NET
1
2
3
4
5
 For j = 1 To 25
                kr(i, j) = DataGridView1.Rows(i).Cells(j - 1).Value
                   cmd.CommandText = ("INSERT INTO (Таблица1) DEFAULT VALUES  (='" &kr(i, j)& "')"
                cmd.ExecuteNonQuery()
            Next j
но ошибки остаются

Добавлено через 16 секунд
да стоит изучить.
VB.NET
1
2
3
4
5
 For j = 1 To 25
                kr(i, j) = DataGridView1.Rows(i).Cells(j - 1).Value
                   cmd.CommandText = ("INSERT INTO (Таблица1) DEFAULT VALUES  (='" &kr(i, j)& "')"
                cmd.ExecuteNonQuery()
            Next j
но ошибки остаются
0
Администратор
Эксперт .NET
 Аватар для OwenGlendower
18283 / 14206 / 5368
Регистрация: 17.03.2014
Сообщений: 28,884
Записей в блоге: 1
09.08.2017, 16:05
kshyms, ошибки остаются потому что синтакис команды INSERT должен быть таким:
SQL
1
INSERT INTO TableName (Column1, Column2, ..., ColumnN) VALUES(Value1, Value2, ..., ValueN)
или таким, если указюыватся значения всех колонок
SQL
1
INSERT INTO TableName VALUES(Value1, Value2, ..., ValueN)
Сравни этот с тем что написано у тебя. И заодно напоминаю что INSERT создает новую строку. Ты же упорно продолжаешь работать с БД так как будто это двухмерный массив.
0
-4 / 4 / 0
Регистрация: 21.09.2015
Сообщений: 333
10.08.2017, 07:17  [ТС]
VB.NET
1
2
 cmd.CommandText = ("INSERT INTO Таблица1([дата и время],[температура С0]) VALUES (='" & DataGridView1.Rows(i).Cells(0).Value) & "','" & DataGridView1.Rows(i).Cells(1).Value) & "')"
            cmd.ExecuteNonQuery()
где опять ошибка

Добавлено через 12 минут
VB.NET
1
2
3
4
5
6
  For j = 1 To 25
                kr(i, j) = DataGridView1.Rows(i).Cells(j - 1).Value
                
            Next j
            cmd.CommandText = "INSERT INTO Таблица1([дата и время],[температура С0]) VALUES (='" & kr(i, 11) & "','" & kr(i, 2) & "')"
            cmd.ExecuteNonQuery()
код рабочий
0
Администратор
Эксперт .NET
 Аватар для OwenGlendower
18283 / 14206 / 5368
Регистрация: 17.03.2014
Сообщений: 28,884
Записей в блоге: 1
10.08.2017, 10:16
kshyms, знак = внутри VALUES не нужен
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
10.08.2017, 10:16
Помогаю со студенческими работами здесь

Ошибка при добавлении записи в базу через форму
Fatal error: Uncaught Error: Call to undefined function mysql_connect() in /home/u466134400/public_html/db1/scripts/connect.php:2 Stack...

Ошибка при попытке добавления записи в базу данных (MySQL)
Qt 4.8.5, MySQL Community Server (mysql-5.5.23-win32.msi). Собрал драйвер под 10 студию (gmake, nmake). Данные с базы получаю, но добавить...

Ошибка при записи данных в базу из-за ограничений в структуре базы
Имеется база Access В базе определены несколько обязательных полей которые не должны быть пустыми. При добавлении записи и не...

Ошибка java.lang.NullPointerException при добавлении записи в базу данных
Здравствуйте! Подскажите, пожалуйста, почему 15-ая строка возвращает нулевое значание? Что не так? Соединение находит, доходит до 15...

Вылезает ошибка при записи данных в Базу после рендеренга View
Всем привет! У меня такая странная проблема: Я пишу данные в базу MSSQL (При помощи Entity Framework, DbContext), данные...


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

Или воспользуйтесь поиском по форуму:
18
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2). Унарный минус обозначается как ! */ #include <iostream> #include <stack> #include <cctype>. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru