1
저장 프로 시저를 사용하여 데이터베이스에서 xml 태그로 데이터를 검색하려고합니다. 표준 xml 응답과 같은 응답을 만들고 싶습니다. 이 데이터베이스에서 Xml 데이터를 내 페이지로 검색하십시오.
comm = new SqlCommand("[sp_get_business_locations]", conn);
comm.CommandType = System.Data.CommandType.StoredProcedure;
comm.Parameters.AddWithValue("@Latitude", Latitude);
comm.Parameters.AddWithValue("@Longitude", Longitude);
comm.ExecuteNonQuery();
cdoc.LoadXml(shop.GetXml());
이
이 무엇을
을 수행 할 수 있습니다 :<NewDataSet/>
이 검색 데이터 내 코드는 다음과 같습니다하지만 그 대신 나는라는 태그는 무엇입니까? 감사.
DataSet shop = new DataSet();
XmlDocument cdoc = new XmlDocument();
이 내 저장 프로 시저된다
SElECT @TotalRows=COUNT(*) FROM HeritageList
INNER JOIN Reviews loc WITH (NOLOCK) ON HeritageList.HeritageId = loc.HeritageId
WHERE ([dbo].[DistanceBetween] (@Latitude,@Longitude,Latitude,Longitude)) * @meters <= @Radius
IF(@TotalRows>0)
BEGIN
DECLARE @Partialxml XML
DECLARE @Totalxml XML
declare @Appendxml VARCHAR(100)
SET @Appendxml = '<HeritageList></HeritageList>';
set @[email protected]
SET @Partialxml = (SELECT HeritageList.HeritageId,
Latitude as "Location/Latitude",
Longitude as "Location/Longitude",
Country as "Location/Country",
[State] as "Location/State",
City as "Location/City",
Postcode as "Location/Postcode",
[Address] as "Location/Address",
(Cast(Round((([dbo].[DistanceBetween]
(@Latitude,@Longitude,Latitude,Longitude)) * @meters),2,1) as decimal(18,2))) as Distance
FROM dbo.HeritageList INNER JOIN Reviews loc WITH (NOLOCK) ON HeritageList.HeritageId = loc.HeritageId
WHERE ([dbo].[DistanceBetween] (@Latitude,@Longitude,Latitude,Longitude)) * @meters <= @Radius
FOR XML PATH('Business'), ELEMENTS XSINIL)
SET @Totalxml.modify('insert sql:variable("@Partialxml") as last into (/HeritageList)[1] ')
SELECT @Totalxml
END
END
CDOC 및 상점 무엇입니까? 명령을 어디서 실행합니까? 나는 마지막 줄이 sql 명령과 아무 관련이 없다고 생각하고 명령 결과 대신 기존 값을보고있다. 결과를 검색하려면 comm.ExecuteScalar 또는 comm.ExecuteReader를 실행해야합니다. –
저장 프로 시저를 공유 할 수 있습니까? – Asif
안녕하세요! 감사! 나는 그것을 편집했습니다 ... 나는 당신의 제안을 시도하고 있습니다 .. 다시 고마워요 –