Форум программистов, компьютерный форум, киберфорум
C#: Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
0 / 0 / 0
Регистрация: 03.04.2023
Сообщений: 21
.NET 8

Выдает ошибку о несоответствии типов данных

14.12.2023, 22:53. Показов 1161. Ответов 2

Студворк — интернет-сервис помощи студентам
Имеется 2 таблицы: Components (Комплектующие) и Buyers (История заказов). Из таблицы Components берутся все данные и вставляются в Buyers + нужно добавить столбец с датой заказов.
Я хочу, чтобы в таблице Buyers добавлялась колонка Дата заказа и туда вводилась текущая дата, но мне выдает ошибку о несоответствии типов данных, из-за того что, в таблице Components нет данного столбца (он мне и не нужен). И вот я не знаю как сделать так, чтобы не добавлять столбец в Components

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
using System.Data.OleDb;
 
namespace ComputerShop
{
    public partial class Form17 : Form
    {
        OleDbConnection connection;
 
        public Form17()
        {
            InitializeComponent();
            string connectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\\Users\\User\\Desktop\\DataBase\\DataBase.accdb;";
            this.BackColor = ColorTranslator.FromHtml("#211F1F");
            connection = new OleDbConnection(connectionString);
        }
 
        private void button1_Click(object sender, EventArgs e) // Подтвердить покупку
        {
            try
            {
                int productId = Convert.ToInt32(textBox1.Text);
                connection.Open();
 
                // Выполняем SQL-запрос для получения данных из Components по ID товара
                string selectQuery = "SELECT * FROM Components WHERE id = @id";
                OleDbCommand selectCommand = new OleDbCommand(selectQuery, connection);
                selectCommand.Parameters.AddWithValue("@id", productId);
 
                OleDbDataReader reader = selectCommand.ExecuteReader();
 
                if (reader.Read())
                {
                    DateTime currentDate = DateTime.Now;
 
                    string insertQuery = "INSERT INTO Buyers (ФИО, Категория, Производитель, Модель, Цена, Дата_заказа) " +
                                         "VALUES (@param1, @param2, @param3, @param4, @param5, @param6)";
 
                    OleDbCommand insertCommand = new OleDbCommand(insertQuery, connection);
                    insertCommand.Parameters.AddWithValue("@param1", "Ваше ФИО");
                    insertCommand.Parameters.AddWithValue("@param2", reader["Категория"]);
                    insertCommand.Parameters.AddWithValue("@param3", reader["Производитель"]);
                    insertCommand.Parameters.AddWithValue("@param4", reader["Модель"]);
                    insertCommand.Parameters.AddWithValue("@param5", reader["Цена"]);
                    insertCommand.Parameters.AddWithValue("@param6", currentDate);
 
                    insertCommand.ExecuteNonQuery();
 
                    MessageBox.Show("Покупка подтверждена успешно!");
                }
                else
                {
                    MessageBox.Show("Товар с указанным ID не найден.");
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show("Ошибка: " + ex.Message);
            }
            finally
            {
                connection.Close();
            }
        }
 
        private void Form17_Load(object sender, EventArgs e)
        {
 
        }
    }
}
Добавлено через 8 минут
Решено преобразованием в string
C#
1
insertCommand.Parameters.AddWithValue("@param6", currentDate.ToString("yyyy-MM-dd HH:mm:ss"));
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
14.12.2023, 22:53
Ответы с готовыми решениями:

(Несоответствие типов данных в выражении условия отбора) выдает ошибку для добавление как это исправит подскажите
OleDbCommand com = new OleDbCommand("INSERT INTO Приходные_документы...

Выдает ошибку "Несоответствие типов данных в выражении условия отбора. "
здравствуйте, помогите, пожалуйста,выдает ошибку "Несоответствие типов данных в выражении условия отбора. " private void...

Выдает ошибку "Несоответствие типов данных в выражении условия отбора"
Доброго времени суток! Я начинающи програмист вот сталкнулся с проблемой и не понимаю вчем проблема. Я добавляю в таблицу нового ученика и...

2
 Аватар для Andrey-MSK
3339 / 2226 / 387
Регистрация: 14.08.2018
Сообщений: 7,518
Записей в блоге: 4
15.12.2023, 10:27
Цитата Сообщение от Shooteriam Посмотреть сообщение
Из таблицы Components берутся все данные и вставляются в Buyers + нужно добавить столбец с датой заказов.
Какой-то бред вы написали... Зачем все данные копировать? Нужно связать таблицы по ID компонента и делов-то...
Code
1
2
3
4
5
6
Таблица заказов (типы данных измените под вашу СУБД)
 
ID_Заказ int
ID_Компонент int
Количество int
Дата datetime (не string, а именно ДАТА)
0
643 / 338 / 139
Регистрация: 19.10.2013
Сообщений: 1,209
15.12.2023, 11:52
вместо
Цитата Сообщение от Shooteriam Посмотреть сообщение
finally
            {
                connection.Close();
            }
лучше создавать отдельные
Цитата Сообщение от Shooteriam Посмотреть сообщение
connection = new OleDbConnection(connectionString);
внутри using, как и OleDbCommand и OleDbDataReader
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
15.12.2023, 11:52
Помогаю со студенческими работами здесь

Программа выдает ошибки о несоответствии типов (Direct X)
Здравствуйте! Изучаю DirectX 9 по книге. Там даётся листинг: #include <windows.h> #include <stdlib.h> #include...

Ошибка о несоответствии типов данных
Здравствуйте, помогите исправить ошибку. При выполнении программного кода, вылетает ошибка о несоответствии типов данных ...

Выдать ошибку при несоответствии данных
Подскажите, пожалуйста, как прописать следующее: 1) В основную таблицу "Форма16" вносятся все данные: Вид формы (1601, 1602 и...

(Несоответствие типов данных в выражении условия отбора) выдает ошибку для добавление как это исправит подскажите
OleDbCommand com = new OleDbCommand("INSERT INTO Приходные_документы...

Ошибка о несоответствии типов
Здравствуйте. Вообщем я пытаюсь сам написать проект на Delphi 2007 и у меня возникла некоторая проблема. В некоторой процедуре я пытаюсь...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера 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. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru