組み込みのC#ロールおよびメンバーシップ管理テーブルから自分のカスタムメイドテーブルに情報を引き出すストアドプロシージャに問題があります。このプロシージャは、最後のUpdate文まで機能します。手順は、私は誰もがユニークな識別子に文字列から行くの問題を抱えたことが、狂気私を運転しているものを見つけ、このエラーメッセージで検索すると、私はこのメッセージSQLストアドプロシージャの変換に失敗しました
Conversion failed when converting from a character string to uniqueidentifier.
の取得失敗
ALTER PROCEDURE [dbo].[GetPerpsectiveMemberList]
AS
DECLARE @Members TABLE
(
RowNumber INT,
PerspectiveMemberID INT,
FirstName varchar(MAX),
LastName varchar(MAX),
[Address] varchar(MAX),
City varchar(MAX),
[State] varchar(MAX),
Zip varchar(MAX),
Email varchar(MAX),
ASPMemberID varchar(MAX),
ASPUsername varchar(MAX),
RoleID2 varchar(MAX),
RoleName2 varchar(MAX)
)
INSERT INTO @Members
SELECT ROW_NUMBER() OVER (ORDER BY Perspective_Member.PerspectiveMemberID), PerspectiveMemberID, Perspective_Member.FirstName, Perspective_Member.LastName,
Perspective_Member.[Address], Perspective_Member.City, Perspective_Member.[State], Perspective_Member.[State], Perspective_Member.Zip, Perspective_Member.ASPMemberID,
Perspective_Member.ASPUsername,PerspectiveMemberID, ASPMemberID
FROM Perspective_Member
UPDATE @Members
SET RoleID2 = aspnet_UsersInRoles.RoleId
FROM aspnet_UsersInRoles
WHERE ASPMemberID = UserId
UPDATE @Members
SET RoleName2 = RoleName
FROM aspnet_Roles
WHERE RoleID2 = RoleID
SELECT * FROM @Members
最後のブロックで使用されている唯一の一意の識別子がWHERE句で使用されているということです。前に述べたように、プロシージャは最後の更新時刻まで完全に実行されます。
** SQL =(Microsoft)SQL Server **を使用していますか? SQLは実際には構造化されたクエリ言語であり、データベース製品ではありません。 –