[英]Linq to sql unkown return types stored procedure .dbml
ALTER PROCEDURE [dbo].[uspGetBusesByDepature]
-- Add the parameters for the stored procedure here
@vRouteNumber varchar(4),
@dtDepartureTime datetime,
@dtArrivalTime datetime,
@InDate datetime
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
DECLARE @DeparturePoint geography,
@Latitude float,
@Longitude float,
@Radius float
-- Insert statements for procedure here
SET @Latitude = (SELECT fRouteWayPointLatitude
FROM dbo.RouteWayPoint
WHERE vRouteNumber = @vRouteNumber
AND iSequence = 1)
SET @Longitude = (SELECT fRouteWayPointLongitude
FROM dbo.RouteWayPoint
WHERE vRouteNumber = @vRouteNumber
AND iSequence = 1)
SET @Radius = (SELECT fRouteWayPointRadius
FROM dbo.RouteWayPoint
WHERE vRouteNumber = @vRouteNumber
AND iSequence = 1) * 1000
SET @DeparturePoint = geography::Point(@Latitude, @Longitude, 4326)
SET @dtDepartureTime = CONVERT(varchar, @InDate, 101) + ' ' + CONVERT(varchar(8), @dtDepartureTime, 108)
SELECT gps.iVehicleID, sDesc AS vVehicleDescription, sRegNo AS [vVehicleRegNo],
SUBSTRING(CONVERT(varchar(8), MIN(dtTime), 108), 1, 5)
+ ' | ' + SUBSTRING(sDesc, 1, 4) + ' - ' +
SUBSTRING(sRegNo, 1, CHARINDEX('-',sRegNo,1)-1)
AS vVehicleText, MIN(dtTime) AS dtTime--,
--dbo.fnBusIsAssigned(gps.iVehicleID, @dtDepartureTime, @dtArrivalTime, @InDate) AS isAssigned
FROM dbo.GPSDataDW gps INNER JOIN Vehicles v
ON gps.iVehicleID = v.iVehicleID
WHERE dtTime BETWEEN DATEADD(MI, -30, @dtDepartureTime) AND DATEADD(MI, 30, @dtDepartureTime)
AND @Radius > @DeparturePoint.STDistance(geography::Point(fLatitude, fLongitude, 4326))
GROUP BY gps.iVehicleID, sDesc, sRegNo
END
任何可以幫助我解決此錯誤的人,我都會檢查我似乎並未立即調用/返回多個表的所有內容。
提前致謝。
美好的一天,
我發現了問題。 問題是引起此問題的地理數據類型。 在我將這一行注釋掉之后:
SET @DeparturePoint =地理位置:: Point(@Latitude,@Longitude,4326);
一切進展順利,我不知道為什么會這樣。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.