Форум программистов, компьютерный форум, киберфорум
Microsoft SQL Server
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/40: Рейтинг темы: голосов - 40, средняя оценка - 4.60
 Аватар для 19boom96
1 / 1 / 3
Регистрация: 27.11.2014
Сообщений: 263

Ошибка преобразования значения varchar

23.01.2019, 21:58. Показов 7717. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Использую следующую хранимку
T-SQL
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
USE [Bank]
GO
 
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
 
ALTER PROCEDURE [dbo].[Login] @Login TEXT,
@Pass TEXT
 
AS
BEGIN
  DECLARE @FIO VARCHAR(1000)
    
  SELECT
@FIO = [Sotrudniki].FIO
  FROM dbo.Sotrudniki
    ,dbo.Users
  WHERE ([Login] LIKE @Login)
  AND ([Pass] LIKE @Pass)
  AND (Users.ID = Sotrudniki.ID_Users);
 
  RETURN CHAR (@FIO);
END;
При выполнении её выдаёт ошибку

Сообщение 245, уровень 16, состояние 1, процедура Login, строка 18
Ошибка преобразования значения varchar "Сергеев Сергей Сергеевич" в тип данных int.


T-SQL
1
2
3
4
5
6
7
8
9
10
11
12
USE [Bank]
GO
 
DECLARE @return_value int
 
EXEC    @return_value = [dbo].[Login]
        @Login = N'111',
        @Pass = N'111'
 
SELECT  'Return Value' = @return_value
 
GO
Где что не так?

Добавлено через 21 минуту
Разобрался сам в 17 строке просто надо написать

Sotrudniki.FIO
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
23.01.2019, 21:58
Ответы с готовыми решениями:

Ошибка преобразования значения varchar в тип данных int
Доброго времени суток! Есть три простые таблицы в базе Shop: первая - All_buy с данными о товарах: ( tovar_id integer ...

Ошибка преобразования значения varchar "МР-12" в тип данных int
не могу понять почему выдает ошибку (Ошибка преобразования значения varchar "МР-12" в тип данных int.) почему группу преобразует в...

Ошибка преобразования значения varchar "<NULL>" в тип данных int
use master GO CREATE DATABASE Библиотека GO USE Библиотека GO CREATE TABLE Абонент (Читбилет char(20) PRIMARY KEY, ...

4
1116 / 761 / 183
Регистрация: 27.11.2009
Сообщений: 2,272
23.01.2019, 22:05
Цитата Сообщение от 19boom96 Посмотреть сообщение
RETURN CHAR (@FIO);
Какой тип получается в результате CHAR(@FIO), по-вашему?
Внутри скобок задаётся длина CHAR() в виде целого числа.
RETURN возвращает целое число, а ему подсовывают тип данных!

Чего вы тут накрутили и зачем??

- Срочно замените TEXT на VARCHAR(MAX), забудьте само слово "TEXT", и непонятно, зачем тут вообще используется BLOB?
Для логина 8000 или 4000 символов не хватит?

- Отказывайтесь от запятой во FROM в пользу подходящего JOINа.

- Запрос для присвоения значения @FIO может вернуть миллион записей. Это нормально??
0
 Аватар для 19boom96
1 / 1 / 3
Регистрация: 27.11.2014
Сообщений: 263
23.01.2019, 23:55  [ТС]
iap, мне просто надо вернуть ФИО хранимкой
которая вызывается из VS

Исправил на это:
T-SQL
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
USE Bank
GO
 
ALTER PROCEDURE dbo.Login @Login VARCHAR(MAX),
@Pass VARCHAR(MAX)
AS
BEGIN
  DECLARE @FIO AS  VARCHAR(512) = (SELECT
      Sotrudniki.FIO AS FIO
    FROM dbo.Sotrudniki
        ,dbo.Users
    WHERE ([Login] LIKE @Login)
    AND ([Pass] LIKE @Pass)
    AND (Users.ID = Sotrudniki.ID_Users))
  SELECT @FIO;
END
GO
но при вызове из VS
Для процедуры или функции указано слишком много аргументов

и да, почему результат отображается в столбце без названия?
Миниатюры
Ошибка преобразования значения varchar  
0
 Аватар для 19boom96
1 / 1 / 3
Регистрация: 27.11.2014
Сообщений: 263
23.01.2019, 23:56  [ТС]
iap, код из студии, на всякий случай

C#
1
2
3
4
5
6
 getUserCommand.Parameters.Add("@Login", SqlDbType.VarChar).Value = Login.Text;
                        getUserCommand.Parameters.Add("@Pass", SqlDbType.VarChar).Value = Password.Text;
 
                       getUserCommand.Parameters.Add("@FIO", SqlDbType.VarChar, 512).Direction = ParameterDirection.Output;
 
                    getUserCommand.ExecuteNonQuery();
0
13 / 14 / 5
Регистрация: 21.08.2012
Сообщений: 245
24.01.2019, 13:58
Цитата Сообщение от 19boom96 Посмотреть сообщение
почему результат отображается в столбце без названия?
SELECT @FIO AS FIO
Так выведет с названием столбца.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
24.01.2019, 13:58
Помогаю со студенческими работами здесь

Ошибка "Преобразование значения типа varchar привело к переполнению столбца типа int" ?
Проблемы с SQL Server Создал таблицу: use LivlagsBar go IF EXISTS (SELECT name FROM sys.objects WHERE name =...

varchar(max) или varchar(n)?
Поискал, подобного вопроса вроде не нашел. Вот проэктирую базу на MsSQL. Есть ли смысл каждому полю отдельно придумывать ограничение...

Преобразование типа данных varchar в тип данных smalldatetime привело к выходу значения за пределы диапазона
Здравствуйте. помогите пожалуйста. что может привести к этой ошибке(ошибка в заголовке темы)? DECLARE @counter int, ...

Ошибка преобразования данных
подскажите пожалуйста, что нет так? select * from Standart.dbo.Stand where not exists (select * from КТД.dbo.stBOReferences where...

Ошибка преобразования типа данных
SELECT LOG.DocumentID, LOG.SystemTime, LOG.Type, LOG.InfoTxt, LOG.Username FROM LOG INNER JOIN REMOTEIDS ON LOG.DocumentID =...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru