I den folgenden CodeWebService nur erste Reihe Zurückgeben eines SQL verwendet queryC#
public class dthvendas: System.Web.Services.WebService {
public class typVenda
{
//public string campanha;
public string id;
public string contact_moment;
public string nome;
// few more properties
}
[WebMethod][SoapDocumentMethod]
public typVenda getListaVendas(string dt_min, string dt_max)
{
//venda vendas = new List<venda>();
typVenda objVenda = new typVenda();
SqlConnection con = new SqlConnection(@"Data Source=server;Initial Catalog=database;User ID=user;password=password");
//SqlCommand cmd = new SqlCommand("SELECT * FROM dbo where contact_moment >='" + dt_min + "' AND contact_moment <DATEADD(dd, 1, '" + dt_max + "')", con);
SqlCommand cmd = new SqlCommand("SELECT * FROM dbo.vcnosadesoes_getlistavendas", con);
con.Open();
SqlDataReader dr = cmd.ExecuteReader();
if (dr.HasRows)
{
while (dr.Read())
{
//var objVenda = new typVenda();
//objVenda.campanha = dr["id"].ToString();
objVenda.id = dr["id"].ToString();
objVenda.contact_moment = dr["contact_moment"].ToString();
objVenda.nome = dr["nome"].ToString();
objVenda.pacote = dr["pacote"].ToString();
objVenda.telefone = dr["telefone"].ToString();
objVenda.codigo_wc = dr["codigo_wc"].ToString();
//vendas.Add(objVenda);
}
dr.Close();
}
con.Close();
return objVenda;
//return vendas.ToArray();
}
Das Problem ist, dass nur kehrt die erste Zeile, statt alle Zeilen der Tabelle haben. Was könnte das Problem sein, irgendwelche Ideen?
Auch wenn ich zurückkomme, heißt es "Diese XML-Datei scheint keine Stilinformationen zu haben. Der Dokumentbaum ist unten gezeigt." Es sollte einen Header wie diese:
<?xml version="1.0" encoding="UTF‐8" ?>
Es kann die letzte Reihe sein, ich glaube, –
Nun ja, ist Ihre Methode 'typVenda' zurückzukehren erklärt, die ein einziges Ergebnis. Vielleicht möchten Sie stattdessen 'List' 'zurückgeben? (An dieser Stelle sollten Sie für jede Iteration der Schleife eine neue Instanz erstellen.) Außerdem sollten Sie 'using'-Anweisungen für Ihre SqlConnection usw. verwenden, alles umbenennen, um den .NET-Namenskonventionen zu folgen, und parametrisiertes SQL verwenden. –
Ihre Frage enthält zu viel unerlaubten Code. Ich habe mir nicht die Mühe gemacht zu lesen, was nicht sofort sichtbar war. –