我在数据库中执行这条语句能查到数据
SELECT Fun.NodeId, Fun.Node, Fun.Url FROM RoleRight INNER JOIN Fun ON RoleRight.NodeId = Fun.NodeId where RoleRight.roleId=4 and ParentId=0
但是在后台代码中运行反而查不到,hasrows为false
SELECT Fun.NodeId, Fun.Node, Fun.Url FROM RoleRight INNER JOIN Fun ON RoleRight.NodeId = Fun.NodeId where RoleRight.roleId=@roleId and ParentId=@parentNoId不知道是怎么回事!
请大家帮帮忙!
SELECT Fun.NodeId, Fun.Node, Fun.Url FROM RoleRight INNER JOIN Fun ON RoleRight.NodeId = Fun.NodeId where RoleRight.roleId=4 and ParentId=0
但是在后台代码中运行反而查不到,hasrows为false
SELECT Fun.NodeId, Fun.Node, Fun.Url FROM RoleRight INNER JOIN Fun ON RoleRight.NodeId = Fun.NodeId where RoleRight.roleId=@roleId and ParentId=@parentNoId不知道是怎么回事!
请大家帮帮忙!
@parentNoId传值问题把你传值部分的代码帖上来看看
你仔细看看你的=@roleId =@parentNoId的值是否正确
{ string sql = "SELECT Fun.NodeId, Fun.Node, Fun.Url FROM RoleRight INNER JOIN Fun ON RoleRight.NodeId = Fun.NodeId where RoleRight.roleId=@roleId and ParentId=@parentNoId";
using (SqlDataReader read = DBHelper.GetReader(sql, new SqlParameter("@roleId", roleId), new SqlParameter("@parentNoId", parentNoId)))
{
List<Fun> sysFuns = new List<Fun>();
while (read.Read())
{
sysFuns.Add(Pupolater(read));
}
return sysFuns;
}
}
SqlParameter[] parameters = {
new SqlParameter("@roleId ", SqlDbType.Int,4),new SqlParameter("@parentNoId", SqlDbType.Int,4)};
parameters[0].Value = xxx;
parameters[0].Value = xxxxx; 这里parameters[]的项都成0了
直接roleId=4 parentNoId=0 测试是否有返回值 有的话roleId,parentNoId 传值问题 没有则方法问题
或者先取消where条件 看看能查到不?能查到就是没取到值的问题啦。
如果查不到,就是你数据库中roleId的值没有