0

Web サービスを介してストアド プロシージャを実行した後に取り込まれるデータセットがあります。データセットが空の場合、何も返さずに一般的な結果を返す必要があります。私のWebService(.ASMX)コードの下にXMLが返されます.XMLが空の場合は.XMLが吐き出されます....それが役立つかどうかはわかりませんが、ここでは完全に途方に暮れています。理想的には、Table1 が存在するかどうかを確認してから何かを実行したいのですが、やはり途方に暮れています。ありがとう!

public DataSet GetMaleDogsDS()
    {
        HttpContext.Current.Response.AddHeader("Access-Control-Allow-Origin", "*");
        //Define the dataset, in this case dsDogs
        DataSet dsDogs = new DataSet();
        //
        dsDogs.Tables.Add("Dogs");
        DbCommand dbCommand = null;
        JavaScriptSerializer js = new JavaScriptSerializer();

        try
        {
            Database db = DatabaseFactory.CreateDatabase();

            string sqlCommand = "sp_GetDogs";
            dbCommand = db.GetSqlStringCommand(sqlCommand);
            dbCommand.CommandType = CommandType.StoredProcedure;

            db.AddInParameter(dbCommand, "Gender", DbType.String, "male");
            dsDogs = db.ExecuteDataSet(dbCommand);
            string strXml = dsDogs.GetXml();
            return dsDogs;
        }

        catch
        {

            string strXml = js.Serialize(dsDogs);
            return dsDogs;
        }

    }

EMPTY 結果の XML は次のとおりです。

<DataSet xmlns="http://0mitted.net/">
<xs:schema xmlns="" xmlns:xs="http://www.w3.org/2001/XMLSchema"     xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" id="NewDataSet">
<xs:element name="NewDataSet" msdata:IsDataSet="true" msdata:Locale="">
<xs:complexType>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element name="Table">
<xs:complexType>
<xs:sequence>
<xs:element name="DogID" type="xs:string" minOccurs="0"/>
<xs:element name="LongDesc" type="xs:string" minOccurs="0"/>
<xs:element name="ShortDesc" type="xs:string" minOccurs="0"/>
<xs:element name="ThumbURL" type="xs:string" minOccurs="0"/>
<xs:element name="LargeURL" type="xs:string" minOccurs="0"/>
<xs:element name="Gender" type="xs:string" minOccurs="0"/>
<xs:element name="Age" type="xs:string" minOccurs="0"/>
<xs:element name="Weight" type="xs:string" minOccurs="0"/>
<xs:element name="HealthStatus" type="xs:string" minOccurs="0"/>
<xs:element name="ActivityLevel" type="xs:string" minOccurs="0"/>
<xs:element name="PersonalityTraits" type="xs:string" minOccurs="0"/>
<xs:element name="InteractionDog" type="xs:string" minOccurs="0"/>
<xs:element name="InteractionCat" type="xs:string" minOccurs="0"/>
<xs:element name="ChildRequirement" type="xs:string" minOccurs="0"/>
<xs:element name="FenceRequirement" type="xs:string" minOccurs="0"/>
<xs:element name="WorkSchedule" type="xs:string" minOccurs="0"/>
<xs:element name="LeashManners" type="xs:string" minOccurs="0"/>
<xs:element name="TrainingNeeded" type="xs:string" minOccurs="0"/>
<xs:element name="AdoptionStatus" type="xs:string" minOccurs="0"/>
<xs:element name="AdoptionFee" type="xs:string" minOccurs="0"/>
<xs:element name="Name" type="xs:string" minOccurs="0"/>
<xs:element name="behavior" type="xs:string" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:choice>
</xs:complexType>
</xs:element>
</xs:schema>
<diffgr:diffgram xmlns:msdata="urn:schemas-microsoft-com:xml-msdata"     xmlns:diffgr="urn:schemas-microsoft-com:xml-diffgram-v1"/>
</DataSet>
4

1 に答える 1