Мой проект MVC5, я пытаюсь импортировать данные пользователей из поставщика SqlMembership в Identity 2.0. Я использую:SQL GetProfileElement - перенос поставщика sqlmembership к идентификатору 2.0
dbo.fn_GetProfileElement('FirstName',Prfl.PropertyNames,Prfl.PropertyValuesString) FirstName,
Я получаю следующее сообщение об ошибке:
Cannot insert the value NULL into column 'FirstName', table 'bcrs_new.dbo.AspNetUsers'; column does not allow nulls. INSERT fails.
Вот функция:
ALTER FUNCTION [dbo].[fn_GetProfileElement]
(
@fieldName AS NVARCHAR(100),
@fields AS NVARCHAR(4000),
@values AS NVARCHAR(4000))
RETURNS NVARCHAR(4000)
AS
BEGIN
-- If input is invalid, return null.
IF @fieldName IS NULL
OR LEN(@fieldName) = 0
OR @fields IS NULL
OR LEN(@fields) = 0
OR @values IS NULL
OR LEN(@values) = 0
RETURN NULL
-- locate FieldName in Fields
DECLARE @fieldNameToken AS NVARCHAR(20)
DECLARE @fieldNameStart AS INTEGER,
@valueStart AS INTEGER,
@valueLength AS INTEGER
-- Only handle string type fields (:S:)
SET @fieldNameStart = CHARINDEX(@fieldName + ':S',@Fields,0)
-- If field is not found, return null
IF @fieldNameStart = 0 RETURN NULL
SET @fieldNameStart = @fieldNameStart + LEN(@fieldName) + 3
-- Get the field token which I've defined as the start of the
-- field offset to the end of the length
SET @fieldNameToken = SUBSTRING(@Fields,@fieldNameStart,LEN(@Fields)[email protected])
-- Get the values for the offset and length
SET @valueStart = dbo.fn_getelement(1,@fieldNameToken,':')
SET @valueLength = dbo.fn_getelement(2,@fieldNameToken,':')
-- Check for sane values, 0 length means the profile item was
-- stored, just no data
IF @valueLength = 0 RETURN ''
-- Return the string
RETURN SUBSTRING(@values, @valueStart+1, @valueLength)
END
Я был бы признателен за ваши предложения о том, как проверить, если FirstName является null вставить «NA».
Спасибо, я получаю эту ошибку: Неправильный синтаксис около «FirstName». – hncl
Я забыл закрытие круглых скобок. Я отредактировал свой ответ :) dbo.fn_GetProfileElement ('FirstName', Prfl.PropertyNames, Prfl.PropertyValuesString)) FirstName –
Спасибо, теперь я получаю эту ошибку: функция isnull требует 2 аргумента (ов) – hncl