组件SqlDataAdapter的查询构建器中设置了列的条件参数,完成没有错误。
构建的SQL如下:SELECT LYNN.FirstName, LYNN.LastName, LYNN.PhoneNumber, LYNN.Address, LYNN.Email, LYNN.UserID
FROM LYNN INNER JOIN
Contact ON LYNN.UserID = Contact.RequestID
WHERE (Contact.DestinationID = '@UserID') AND (Contact.IsApproved = 1)在后台代码中,执行到adApproved.SelectCommand.Parameters["@UserID"].Value = Context.User.Identity.Name;会出现一个异常Object reference not set to an instance of an object.
后来我用'b69b2efd-076e-4abd-9c14-d1af9468b101'代替sql语句中的'@UserID',在sql server里面检验结果是对的。
不知道问题出在哪里了,大家帮帮忙呀,谢谢!
构建的SQL如下:SELECT LYNN.FirstName, LYNN.LastName, LYNN.PhoneNumber, LYNN.Address, LYNN.Email, LYNN.UserID
FROM LYNN INNER JOIN
Contact ON LYNN.UserID = Contact.RequestID
WHERE (Contact.DestinationID = '@UserID') AND (Contact.IsApproved = 1)在后台代码中,执行到adApproved.SelectCommand.Parameters["@UserID"].Value = Context.User.Identity.Name;会出现一个异常Object reference not set to an instance of an object.
后来我用'b69b2efd-076e-4abd-9c14-d1af9468b101'代替sql语句中的'@UserID',在sql server里面检验结果是对的。
不知道问题出在哪里了,大家帮帮忙呀,谢谢!
SELECT LYNN.FirstName, LYNN.LastName, LYNN.PhoneNumber, LYNN.Address, LYNN.Email, LYNN.UserID
FROM LYNN INNER JOIN
Contact ON LYNN.UserID = Contact.RequestID
WHERE Contact.IsApproved = 1 AND Contact.DestinationID = @UserID AND
SELECT LYNN.FirstName, LYNN.LastName, LYNN.PhoneNumber, LYNN.Address, LYNN.Email, LYNN.UserID
FROM LYNN INNER JOIN
Contact ON LYNN.UserID = Contact.RequestID
WHERE Contact.IsApproved = 1 AND Contact.DestinationID = @UserID
FROM LYNN INNER JOIN
Contact ON LYNN.UserID = Contact.RequestID
WHERE Contact.IsApproved = 1 AND Contact.DestinationID = @UserID
---如果@UserID 不是许多ID用','合并的串, 语句没问题
如果@UserID 是许多ID用','合并的串,那修改如下:
SELECT LYNN.FirstName, LYNN.LastName, LYNN.PhoneNumber, LYNN.Address, LYNN.Email, LYNN.UserID
FROM LYNN INNER JOIN
Contact ON LYNN.UserID = Contact.RequestID
WHERE Contact.IsApproved = 1 AND charindex(','+ ltrim(Contact.DestinationID)+',', ','+@UserID+',' )>0
FROM LYNN INNER JOIN
Contact ON LYNN.UserID = Contact.RequestID
WHERE (Contact.DestinationID = '@UserID') AND (Contact.IsApproved = 1) 改为
SELECT LYNN.FirstName, LYNN.LastName, LYNN.PhoneNumber, LYNN.Address, LYNN.Email, LYNN.UserID
FROM LYNN INNER JOIN
Contact ON LYNN.UserID = Contact.RequestID
WHERE (Contact.DestinationID = @UserID) AND (Contact.IsApproved = 1) 否则你的语句里将没有@UserID参数,而是个'@UserID'字符串
FROM LYNN INNER JOIN
Contact ON LYNN.UserID = Contact.RequestID
WHERE (Contact.DestinationID = @UserID) AND (Contact.IsApproved = 1)