none
Problema com retorno de WebService RRS feed

  • Pergunta

  • Olá gente estou tentando criar um WS aqui na empresa para se conectar ao banco, inicialmente é um teste mais estou tendo problema com o retorno da página.

    meu código

    public

     

    classconsulta : System.Web.Services.WebService

    {

    #region

     

    definição de métodos

    [

    WebMethod(Description ="Consulta aos profissionais do Sistema de testes por Nome e CPF")]

     

    publicDataSet pesquisa(String Nome, String CPF)

    {

     

    acessoBanco acesso =newacessoBanco();

    acesso.ExecuteCommand(

    "testenewConnectionString","SELECT CPF, Nome_Do_Profissional, UAP_Provisoria FROM Cadastro WHERE (CPF = @CPF) OR (Nome_Do_Profissional = @Nome)");

     

    SqlConnection myConnection =newSqlConnection("testenewConnectionString");

    myConnection.Open();

     

    DataSet resultado =newDataSet();

     

    SqlCommand command =newSqlCommand("testenewConnectionString");

     

    SqlDataReader prof = command.ExecuteReader();

     

    DataTable Tbl = ConvDataTable(prof,"Profissionais");

    resultado.Tables.Add(Tbl);

     

    return resultado;

    }

     

    DataTable ConvDataTable(IDataReader DR, string Nome)

    {

     

    // Cria DataTable

     

    DataTable Resultado =newDataTable(Nome);

     

    // Copia estrutura

     

    for (int i = 0; i < DR.FieldCount; i++)

    {

    Resultado.Columns.Add(DR.GetName(i), DR.GetType());

    }

     

    // Cria buffer para conter dados

     

    object[] Buffer =newobject[DR.FieldCount];

     

    // Copia Dados

     

    while (DR.Read())

    {

    DR.GetValues(Buffer);

    Resultado.Rows.Add(Buffer);

    }

     

    return Resultado;

    }

     

    #endregion

    #region

     

    Declarao de variveis

     

    String CreanewConnectionString ="Data Source=SQL_teste;Initial Catalog=testenew;User ID=xxx;Password=teste";

    #endregion

    }

     

    bom este código foi quase totalmente achado na net com poucas mudanças, e tb sou novo no mundo do .Net, gostaria que alguem me ajudasse...

    sexta-feira, 16 de abril de 2010 19:10

Respostas

  • Bom se vc queria retornar toda a estrutura da tabela q vc consultou acho q não tem necessidade de todo esse codigo.
    Você poderia simplesmente fazer assim.
     daPesquisa = new SqlDataAdapter("SELECT CPF, Nome_Do_Profissional, UAP_Provisoria FROM Cadastro WHERE (CPF = @CPF) OR (Nome_Do_Profissional = @Nome", conn);
          SqlCommandBuilder cmdbldr = new SqlCommandBuilder(daPesquisa);
          dsResultado = new DataSet();
          daPesquisa.Fill(dsResultado);
    Após isso retornar o dataset no seu WebMetodo
    terça-feira, 27 de abril de 2010 11:29

Todas as Respostas

  • bom dia tenta retornar um objeto que não seja um dataset
    willians roberto seara
    sexta-feira, 23 de abril de 2010 14:03
  • Bom se vc queria retornar toda a estrutura da tabela q vc consultou acho q não tem necessidade de todo esse codigo.
    Você poderia simplesmente fazer assim.
     daPesquisa = new SqlDataAdapter("SELECT CPF, Nome_Do_Profissional, UAP_Provisoria FROM Cadastro WHERE (CPF = @CPF) OR (Nome_Do_Profissional = @Nome", conn);
          SqlCommandBuilder cmdbldr = new SqlCommandBuilder(daPesquisa);
          dsResultado = new DataSet();
          daPesquisa.Fill(dsResultado);
    Após isso retornar o dataset no seu WebMetodo
    terça-feira, 27 de abril de 2010 11:29
  • vlw tiger,

     

    vou testar aqui e depois posto o que aconteceu.

    Obrigado pela dica.

     

     

     

     

     

    __________________________________________________________________

    Meu velho valeu ai, consegui fazer o retorno com menos cógigo tudo certo
    terça-feira, 27 de abril de 2010 16:25