Rückgabe von JSON-Objekt zum ausführen von SQL Server gespeicherten Prozedur

Bin ich mit dieser Methode für die Rückgabe einer XML als Ergebnis. Ich brauche die Rückgabe eines json-Objekts nach dem ausführen der gespeicherten Prozedur. Wo soll ich die Bearbeiten Sie den folgenden code, um wieder eine JSON-Objekt?

public XmlElement GetGraphData(int eventTypeID, int patientID)
{
    SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["dbconnection"].ToString());
    con.Open();

    SqlCommand cmd = new SqlCommand("sp_GetGraphData", con);
    cmd.CommandType = CommandType.StoredProcedure;
    cmd.Parameters.AddWithValue("@EventID", eventTypeID);
    cmd.Parameters.AddWithValue("@PatientID", patientID);

    cmd.ExecuteNonQuery();

    SqlDataAdapter da = new SqlDataAdapter(cmd);

    DataSet ds = new DataSet();
    da.Fill(ds);

    con.Close();

    XmlDataDocument xmldata = new XmlDataDocument(ds);
    XmlElement xmlElement = xmldata.DocumentElement;
}
  • die Sie konvertieren möchten, dataset, um json-Objekt . richtig ?
  • Side note: Sie sollten nicht verwenden Sie die sp_ Präfix für Ihre gespeicherten Prozeduren. Microsoft hat vorbehalten, die mit einem Präfix für den eigenen Gebrauch (siehe Benennen von Gespeicherten Prozeduren), und Sie laufen Gefahr, einen name-clash-irgendwann in der Zukunft. Es ist auch schlecht für die gespeicherte Prozedur performance. Es ist am besten, einfach zu vermeiden sp_ und verwenden Sie etwas anderes als ein Präfix - oder kein Präfix an alle!
  • Auch -, die Sie ausführen, die Abfrage doppelt - einmal auf ExecuteNonQuery, und ein zweites mal auf da.Fill(ds) - Mach das nicht! Was versuchen Sie zu tun? Laden der Daten aus der Datenbank? Verwenden Sie nicht ExecuteNonQuery für, die! Dieser Aufruf sollte nur für SQL-Anweisungen, die nicht wieder alle Daten! (Wie INSERT, DELETE)
  • ja Amey Deshpande .. Du hast Recht
  • Sie können Newtonsofts Json.Net
InformationsquelleAutor Keey | 2015-10-23
Schreibe einen Kommentar