Usuário com melhor resposta
WebService retornando DataSet para uma aplicação Dephi 7

Pergunta
-
Olá Pessoal,
Estou com seguinte cenário: Estou usando .NET 2.0 para criar um webservice que retorna um dataset.
Uma aplicação Delphi 7 deve acessar este webservice e pegar o retorno do método (dataset) e preencher um grid, é possível fazer isso usando que objeto do delphi 7, o ADODataSet, ou outro objeto?
Grato.
Respostas
-
Grande,
Ficaria assim... (A parte vermelha é a modificação)
[WebMethod]
public string GeraListagemPorData(string datainicio, string datafinal)
{string consultaSQL = "SELECT * from Clientes where datai = "+datai+" and dataf="+dataf+";
SqlConnection conexao = new SqlConnection("Data Source=BANCO;Initial Catalog=Orion;User ID=user;Password=senha");
SqlDataAdapter adapter = new SqlDataAdapter(consultaSQL, conexao);
DataSet ds = new DataSet();
conexao.Open();
adapter.Fill(ds);
conexao.Close();return ds.GetXML();
}
Todas as Respostas
-
-
Continuo com problemas...
Fiz um web service retornando um DataSet com C# 2005, só que a aplicação Delphi não entende o objeto DataSet do .NET, pensei então fazer o webservice retornar um arquivo xml, mas como fazer isso?
Tem como retornar dados para que uma aplicação delphi entenda sem precisar ser em xml puro?
Obrigado
-
Grande,
Existe no DataSet um metodo chamado GetXML, este retorn um string contendo os dados. Desta forma vc consegue facilmente (Eu Acredito) transmitir para o Delphi, modifique o WebService para retornar uma string ao invez de um DataSet.
Desta forma vc tem o XML na outra ponta ai vc pode trata-lo
-
Olá ViewState,
Obrigado por ajudar, Vou lhe mostrar como está o meu método.
[
WebMethod]
public DataSet GeraListagemPorData(string datainicio, string datafinal)
{string consultaSQL = "SELECT * from Clientes where datai = "+datai+" and dataf="+dataf+";
SqlConnection conexao = new SqlConnection("Data Source=BANCO;Initial Catalog=Orion;User ID=user;Password=senha");
SqlDataAdapter adapter = new SqlDataAdapter(consultaSQL, conexao);
DataSet ds = new DataSet();
conexao.Open();
adapter.Fill(ds);
conexao.Close();return ds;
}
Eu deveria então retirar o retorno DataSet e deixar apenas como string? como faço isso no código acima?
-
Grande,
Ficaria assim... (A parte vermelha é a modificação)
[WebMethod]
public string GeraListagemPorData(string datainicio, string datafinal)
{string consultaSQL = "SELECT * from Clientes where datai = "+datai+" and dataf="+dataf+";
SqlConnection conexao = new SqlConnection("Data Source=BANCO;Initial Catalog=Orion;User ID=user;Password=senha");
SqlDataAdapter adapter = new SqlDataAdapter(consultaSQL, conexao);
DataSet ds = new DataSet();
conexao.Open();
adapter.Fill(ds);
conexao.Close();return ds.GetXML();
}
-
-
Olá . . . estou com o mesmo problema. Consigo pegar o XML do outro lado, mas como faço pra converter pra algo que o delphi entenda ?!
Sei que não é assunto pra esse forúm, mas já procurei em todo o canto e não achei uma solução adequada.
Abraços !!!
-
-
oi, sou programador delphi a alguns anos
o delphi compreende perfeitamente o XML, vc pode fazer integração usando os componentes TXMLTransform, TXMLTransformProvider, e TXMLTransformClient no próprio delphi, sendo que você consegue até mesmo transportar os dados que vc recebeu do WebService para um TDataSet do delphi.
-
-