|
0 / 0 / 0
Регистрация: 07.03.2011
Сообщений: 34
|
||||||
Ошибка переполнения при заполнении DataSet26.04.2011, 14:40. Показов 4206. Ответов 22
Метки нет (Все метки)
При нажатии на кнопку происходит заполнение датагрида
'The conversion of the varchar value '3020000000 ' overflowed an int column. Maximum integer value exceeded' Хотя никакой конвертации я не делаю.
0
|
||||||
| 26.04.2011, 14:40 | |
|
Ответы с готовыми решениями:
22
Ошибка переполнения при выполнении арифметической операции Зависание при заполнении dataset 400 000 записей. Как поместить это в отдельный поток Ошибка переполнения при DrawImage |
|
86 / 62 / 69
Регистрация: 15.03.2007
Сообщений: 6,903
|
|
| 26.04.2011, 15:01 | |
|
- inform_51 это таблица или отображение (view)? Если view, то проверь не выполняются ли там какие-то преобразования
- это точно весь код? У тебя запрос обрывается на where. Такой запрос является неправильным
0
|
|
|
0 / 0 / 0
Регистрация: 07.03.2011
Сообщений: 34
|
|
| 26.04.2011, 15:11 [ТС] | |
|
inform_51 это таблица, да заметил косяк после where идет + session.item('p2'), в ней по какому полю выбирать данные из бд.
0
|
|
|
0 / 0 / 0
Регистрация: 07.03.2011
Сообщений: 34
|
|
| 26.04.2011, 15:12 [ТС] | |
|
это здесь я его не вставил в коде он есть.
0
|
|
|
86 / 62 / 69
Регистрация: 15.03.2007
Сообщений: 6,903
|
|
| 26.04.2011, 15:14 | |
|
Значит в session.item('p2') и 'прячется' это преобразование
0
|
|
|
0 / 0 / 0
Регистрация: 07.03.2011
Сообщений: 34
|
|
| 26.04.2011, 16:01 [ТС] | |
|
Я его создаю так session.add('p2',0) - это не правильно? Тогда как правильно чтобы оно не было интеджером.
0
|
|
|
86 / 62 / 69
Регистрация: 15.03.2007
Сообщений: 6,903
|
||||||
| 26.04.2011, 16:11 | ||||||
|
Полный код формирования покажи.
Ты же не хочешь сказать что он у тебя так формируется 'Select mokrug_id,...,ssoot051 From inform_51 where '+session.item('p2') В этом случае получится бессмысленный запрос Select mokrug_id,...,ssoot051 From inform_51 where 0 Еще лучще если ты закоментируешь строки
Тебе нужно смотреть поле da.SelectCommand.CommandText Иначе как понять откуда берется значение '3020000000 которое нельзя преобразовать в int.
0
|
||||||
|
0 / 0 / 0
Регистрация: 07.03.2011
Сообщений: 34
|
||||||
| 26.04.2011, 17:56 [ТС] | ||||||
|
не я p2 добавляю в page_load
а код вот
0
|
||||||
|
86 / 62 / 69
Регистрация: 15.03.2007
Сообщений: 6,903
|
|
| 26.04.2011, 18:38 | |
|
Похоже проблема в строках формирования условия
Session.Item('t2') = 'ssoot050=' + DropDownList1.SelectedItem.Text + Session.Item('g') + Session.Item('m') Session.Item('t2') = 'ssoot051=' + DropDownList1.SelectedItem.Text.ToString + Session.Item('g') + Session.Item('m') Колонки ssoot050 и ssoot051 имеют численный тип, а значение 'склеенное' из значения выбранного в выпадающем списке и значений сессии g и m оказывается слишком большим для int. т.е. получается условие вида ssoot050=3020000000. (правда у меня такое сравнение работает без ошибок - ты же наверное еще кавычки к значению добавляешь). Чтобы исправить тебе надо свой код продумать по новой. Если складываемы значения это числа почему ты работаешь с ними как со строками? Далее - зачем хранить условие выбора в сессии?
0
|
|
|
4 / 4 / 0
Регистрация: 15.10.2008
Сообщений: 282
|
|
| 26.04.2011, 18:47 | |
|
Зaрaнее предупреждaю - рaбoтaю не с VB.Net, a с C#, пoэтoму мoгу быть непрaв.
>>> Я его создаю так session.add('p2',0)<<< Нaскoлькo я знaю Session.Add() имеет пaрaметрaми String и object. Пoэтoму (с тoчки зрения C#) прaвильнo былo бы передaвaть в этoт метoд не 0, a, нaпример, Int32. >>>Session.Item('t2') = 'ssoot051=' + DropDownList1.SelectedItem.Text.ToString + Session.Item('g') + Session.Item('m')>>> В принципе, прoстo прoдoлжение предыдущегo. Session.Item('name') вoзврaщaет oбъецт, кoтoрый я бы преoбрaзoвaл испoльзуя ToString метoд. И пoследнее. Bazile aбсoлютнo прaв. Первoе чтo Вaм неoхoдимo сделaть этo прoверить CommandText property.
0
|
|
|
86 / 62 / 69
Регистрация: 15.03.2007
Сообщений: 6,903
|
|
| 26.04.2011, 18:54 | |
|
2 Mike_R
> Нaскoлькo я знaю Session.Add() имеет пaрaметрaми String и object. > Пoэтoму (с тoчки зрения C#) прaвильнo былo бы передaвaть в > этoт метoд не 0, a, нaпример, Int32. Численный литерал по умолчанию имеет тип Int32 Вызов Console.WriteLine(0.GetType().ToString() ) выдает на экран System.Int32
0
|
|
|
4 / 4 / 0
Регистрация: 15.10.2008
Сообщений: 282
|
|
| 26.04.2011, 19:00 | |
|
2 bazile:
Спoрить не буду. Пoскoльку не пытaлся тaк делaть, a Вaм впoлне дoверяю. С другoй стoрoны, C# кoмпaйлер выдaст мне oшибку преoбрaзoвaния в этoй стрoке : 'ssoot051=' + DropDownList1.SelectedItem.Text.ToString + Session.Item('g') + Session.Item('m').
0
|
|
|
86 / 62 / 69
Регистрация: 15.03.2007
Сообщений: 6,903
|
|
| 26.04.2011, 19:08 | |
|
В C# эта строка выглядит так
'ssoot051=' + DropDownList1.SelectedItem.Text + Session['g'] + Session['m'] Компилятор ее пропускает. Для каждого объекта не-строки автоматически добавляется вызов ToString() похоже.
0
|
|
|
4 / 4 / 0
Регистрация: 15.10.2008
Сообщений: 282
|
|
| 26.04.2011, 19:19 | |
|
Действительнo. Был непрaв.
Стрoкa: String sTest = 'Some test ' + Session['name']; кoмпилируется без прoблем. A стрoкa: String sTest = Session['name']; вызывaет oшибку преoбрaзoвaния.
0
|
|
|
86 / 62 / 69
Регистрация: 15.03.2007
Сообщений: 6,903
|
|
| 26.04.2011, 19:22 | |
|
2 Mike_R
Я на самом деле сам не был уверен прокатит ли такая строка ![]() И только после проверки узнал точно
0
|
|
|
0 / 0 / 0
Регистрация: 07.03.2011
Сообщений: 34
|
|
| 26.04.2011, 21:49 [ТС] | |
|
Как раз про кавычки и забыл, уже все перепробовал. Всем отделом бились пока не вспомнили про эти долбанные апострофы. Без них mssql и пытался конвертнуть nvarchar в integer.
0
|
|
|
86 / 62 / 69
Регистрация: 15.03.2007
Сообщений: 6,903
|
|
| 27.04.2011, 11:08 | |
|
То есть проблема решена?
0
|
|
|
0 / 0 / 0
Регистрация: 07.03.2011
Сообщений: 34
|
|
| 27.04.2011, 15:33 [ТС] | |
|
Да, все заработало, спасибо за участие.
0
|
|
|
3 / 3 / 3
Регистрация: 13.02.2009
Сообщений: 465
|
|
| 27.04.2011, 16:16 | |
|
2 Mike_R:
Стрoкa: String sTest = 'Some test ' + Session['name']; кoмпилируется без прoблем. A стрoкa: String sTest = Session['name']; вызывaет oшибку преoбрaзoвaния. Ошибка возникает если Session['name'] равна null. Обычно пишут либо проверку на null либо string.Empty + Session['name']
0
|
|
|
86 / 62 / 69
Регистрация: 15.03.2007
Сообщений: 6,903
|
|
| 27.04.2011, 16:27 | |
|
2 rulez
> Ошибка возникает если Session['name'] равна null. Неправильно. Ошибка возникает потому что Session[] возвращает object, а присвоение идет переменной типа string.
0
|
|
| 27.04.2011, 16:27 | |
|
Помогаю со студенческими работами здесь
20
Ошибка переполнения при вызове формы Тангенс и логарифм: при вычислении ошибка переполнения
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2.
При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
|
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут.
https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc
Первый документ красиво выглядит, но без схемы.
Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
|
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере".
Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
|
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти".
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2.
В качестве источника данных. . .
|
|
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер
Написал заготовку:
dotnet new console --aot -o UrlHandler
var items = args. Split(":");
var tag = items;
var id = items;
var executable = args;. . .
|
Отправка уведомления на почту при изменении наименования справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере изменения наименования типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной. . .
|
модель ЗдравоСохранения 5. Меньше увольнений- больше дохода!
anaschu 24.03.2026
Теперь система здравосохранения уменьшает количество увольнений.
9TO2GP2bpX4
a42b81fb172ffc12ca589c7898261ccb/
https:/ / rutube. ru/ video/ a42b81fb172ffc12ca589c7898261ccb/
Слева синяя линия -. . .
|
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. .
Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
|