Форум программистов, компьютерный форум, киберфорум
C#: Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/9: Рейтинг темы: голосов - 9, средняя оценка - 4.67
2 / 2 / 1
Регистрация: 13.01.2013
Сообщений: 31

Не могу получить данные из SQL запроса

09.06.2017, 12:14. Показов 1856. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Есть таблица в формате *.DBF на FoxPro. Необходимо вытащить из нее некоторые данные, но при попытке их получения возникает ошибка: Поставщик не смог определить значение Decimal. Например, строка только что была создана, значение по умолчанию для столбца Decimal не было доступно, а потребитель еще не задал нового значения Decimal.

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
 using (OleDbConnection conn = new OleDbConnection(@"Provider=VFPOLEDB.1;Data Source=D:\ZAR\brab" + buft[i] + ".dbf"))
                {
                    str = "SELECT b.tn, IIF(b.ozp<>0,b.ozp,0), IIF(b.chas<>0,b.chas,0), IIF(b.dn<>0,b.dn,0),";
                    str += " IIF(b.Otp<>0,b.Otp,0), IIF(b.Otp1<>0,b.Otp1,0), IIF(b.Boln<>0,b.Boln,0) FROM brab" + buft[i] + " b ";
                    str += " where (b.tn=" + textBox9.Text + ")";
                    OleDbCommand command = new OleDbCommand(str, conn);//Создаём SQL-запрос
                    conn.Open();
                    OleDbDataReader reader = command.ExecuteReader();
                    if (nomstr==0) dataGridView2.Rows.Add();
                    dataGridView2.Rows[i].Cells[1].Value = buft[i];
                    if (reader.Read())
                    {
                        dataGridView2.Rows[i].Cells[7].Value = Math.Round(Convert.ToDouble(reader[1].ToString()) / 10000, 2).ToString(); //ozp
                        dataGridView2.Rows[i].Cells[12].Value = "1"; //коэфф
                        dataGridView2.Rows[i].Cells[5].Value = Math.Round(Convert.ToDouble(reader[2].ToString()),0).ToString(); //chas
                        dataGridView2.Rows[i].Cells[2].Value = Math.Round(Convert.ToDouble(reader[3].ToString()), 0).ToString(); //dni
                        dataGridView2.Rows[i].Cells[9].Value = Math.Round(Convert.ToDouble(reader[4].ToString()) / 10000, 2).ToString();//otp tek
                        dataGridView2.Rows[i].Cells[10].Value = Math.Round(Convert.ToDouble(reader[6].ToString()) / 10000, 2).ToString();//bol
                     }
                }
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
09.06.2017, 12:14
Ответы с готовыми решениями:

Поместить данные результата SQL запроса в переменные
Здравствуйте! У меня есть запрос который выбирает некие значения и возвращает их в одной строке, мне надо каждое значение поместить в...

Как редактировать данные в БД с помощью SQL запроса
public void RedDolj(string NazDolj)// метод редактирования ДОЛЖНОСТИ { string auery = string.Format(&quot;UPDATE ...

Получить возвращаемое значение запроса sql count в переменную
SELECT COUNT(*) FROM users WHERE user_login LIKE @login AND user_pass LIKE @pass Этот запрос возвращает обще количество совпадений и я...

1
Администратор
Эксперт .NET
 Аватар для OwenGlendower
18242 / 14156 / 5366
Регистрация: 17.03.2014
Сообщений: 28,846
Записей в блоге: 1
09.06.2017, 14:31
mkapustin, когда именно возникаеи исключение? Подозреваю что на ExecuteReader и значит нужно проверять текст запроса.

Добавлено через 1 минуту
DataReader, кстати тоже нужно закрывать. Советую добавить using вокруг него.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
09.06.2017, 14:31
Помогаю со студенческими работами здесь

Уникальные данные одного столбца sql запроса
Как составить запрос чтобы данные одного столбца поля были уникальными, а другого выводились все подряд?

Передать данные из запроса в таблицу SQL Server
Добрый день! Подскажите, пожалуйста, как передать данные из запроса в таблицу SQL Server ?

Как получить результат SQL запроса?
простейший запрос select * from Table where name='Андрей'т.е. вообще существует такая запись.

Получить (записать) данные из запроса
Всем доброго времени суток. Имеется база данных расположена на удаленном сервере, все подключения к ней удаленные, управляется Sql server...

Получить данные из запроса IBQuery
Работаю в Rad Studio Пишу вот такой запрос SELECT shop.name, product.name from PRODUCT, SHOP where (shop.id=:paramidshop) and...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка. Рецензия / Мнение/ Перевод https:/ / **********/ gallery/ thinkpad-x220-tablet-porn-gzoEAjs . . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru