Форум программистов, компьютерный форум, киберфорум
Visual Basic .NET
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/6: Рейтинг темы: голосов - 6, средняя оценка - 4.50
0 / 2 / 3
Регистрация: 27.03.2012
1

System.Data.SqlDbType.Int - лимит в 10000?

05.05.2011, 12:31. Показов 1107. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
столкнулся сегодня с такой проблемой - хранимая процедура (OleDb / SQL Server) у которой один из параметров был SqlDbType.Int выполнялась, но ничего не возвращала, в качестве значения параметра было 10000, после того как Int был сменен на BigInt - все стало работать. ???
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
05.05.2011, 12:31
Ответы с готовыми решениями:

Error BC30466: Namespace or type 'Data' for the Imports 'System.Data' cannot be found
.NET beta 2 Пытаюсь писать vb под asp.net и откомпилять в dll... Вот заголовок: Imports System...

Где скачать библиотеку System.Data.SQLite.dll
Где можно это скачать? На официальном сайте для скачки предлагается архив с кучей файлов, а не...

Как отключить загрузку символов для System.Data.dll
Уважаемые подскажите, что бы это значило и как отключить? Может я сгоряча не туда нажал? Уж и не...

Ошибка An unhandled exception of type 'System.Data.OleDb.OleDbException' occurred in system.data.dll
добовляю данные в таблицу .mdb (язык C#) string strSql='INSERT INTO tt (ID,F1,F2)...

4
85 / 61 / 69
Регистрация: 15.03.2007
Сообщений: 6,906
05.05.2011, 13:09 2
Судя по документации SqlDbType.Int это Int32, значит 10000 далеко от максимального значения.
Пример процедуры и ее вызова можешь привести?
0
0 / 2 / 3
Регистрация: 27.03.2012
05.05.2011, 14:09 3
процедура элементарная и тут все работает без проблем

T-SQL
1
2
3
4
5
6
7
CREATE PROCEDURE dbo.GetThread
(
@ThreadID int,
...
)
AS
...
код вызова
VB.NET
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
Dim conn As New OleDbConnection(ConfigurationSettings.AppSettings('ConnectionString'))
 
Dim cmd As OleDbCommand = New OleDbCommand('GetThread', conn)
cmd.CommandType = CommandType.StoredProcedure
cmd.Parameters.Add('@ThreadID', SqlDbType.Int, 4)
....еще несколько параметров
cmd.Parameters(0).Value = 10000
....еще несколько параметров
 
conn.Open()
 
Dim forumPostCollection As ForumPostCollection = New ForumPostCollection()
 
Dim dr As OleDbDataReader = cmd.ExecuteReader()
 
While dr.Read()
    System.Diagnostics.Debug.WriteLine('kuku')
End While
 
dr.Close()
conn.Close()
если 'SqlDbType.Int, 4' поменять на 'SqlDbType.BigInt' все будет работать. В 4-ке что ли проблема?
0
85 / 61 / 69
Регистрация: 15.03.2007
Сообщений: 6,906
05.05.2011, 14:16 4
> если 'SqlDbType.Int, 4' поменять на 'SqlDbType.BigInt'
> все будет работать. В 4-ке что ли проблема?
Не знаю, даже. Попробуй.
На мой взглял размер данных имеет смысл указывать для полей типа char и varchar или для decimal. Для int можно положиться на станлартное поведение. Так что попробуй просто
cmd.Parameters.Add('@ThreadID', SqlDbType.Int)

Еще вопрос - ты к MSSQL подключаешься? Если да, то почему используешь классы OleDb?
0
0 / 2 / 3
Регистрация: 27.03.2012
05.05.2011, 14:47 5
похоже, я немного лоханулся ;-)

пока ты мне не сказал про OLE я и не понял что правильно надо не SQLDBTYPE, а OLEDBTYPE. Итак, если в вышеуказанном примере убрать размер 4, то все будет работать. Однако, правильно, конечно использовать OleDbType.Integer, который будет работать как с размером так и без него.

а OleDb используется по причине того, что приложение было сделано не под SQL Server, потом базу перенесли в SQL и пара больших запросов была переделана в хранимые процедуры, а при вызове возникла вот такая ошибка

спасибо, буду иметь ввиду теперь
0
05.05.2011, 14:47
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
05.05.2011, 14:47
Помогаю со студенческими работами здесь

Что лучше использовать System.Data.Linq или System.Data.sqlclient
что лучше использовать System.Data.Linq или System.Data.sqlclient для подкл к базе подскажите на...

Авторизация в приложении и исключение типа "System.Data.SQLClient.SQLException" в System.Data.dll
Доброго времени суток, пробую сделать авторизацию в приложении по примеру. В итоге получил что...

Ошибка: An unhandled exception of type 'System.Data.OracleClient.OracleException' occurred in system.data.oracleclient.dll
а вы что хотите получить, уважаемый? кол-во выбранных записей, или какое-то конкретное значение?

Необработанное исключение типа "System.Data.SqlClient.SqlException" в System.Data.dll
Доброго времени суток ! Есть программа, работала нормально. Но как только в соединениях я поменял...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru