Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Fernando Martinelli

Como acesso um propriedade no WCF no Silverlight

Recommended Posts

Olá,

 

Eu estou iniciando um projeto em Silverlight e preciso acessar dados de um banco de dados. Para isso usei WCF Service:

 

IService1
 [serviceContract]
   public interface IService1
   {

       [OperationContract]
       string getQuery (string sqlQuery);


       // TODO: Add your service operations here
   }

Service.svc.cs
  public class Service1 : IService1
   {
       private string msgErro;
       public string MsgErro
       {
           get { return msgErro; }
           set { msgErro = value; }
       }

       public string getQuery (string sqlQuery)
       {
          msgErro = "";
          string cs = "ConnectionString";
          OdbcConnection dbBanco = new OdbcConnection(cs);
          try
          {
              OdbcCommand dbFuncao = new OdbcCommand(sqlQuery, dbBanco);
              dbBanco.Open();
              DataSet ds = new DataSet();
              OdbcDataAdapter da = new OdbcDataAdapter();
              OdbcCommandBuilder cb = new OdbcCommandBuilder(da);
              da.SelectCommand = new OdbcCommand (sqlQuery,dbBanco);
              da.Fill(ds);
              dbBanco.Dispose();
              dbUtil db = new dbUtil();
              db.Nome = ds.Tables[0].Rows[0].ItemArray[0].ToString();
              return (ds.Tables[0].Rows[0].ItemArray[0].ToString());
          }
          catch (Exception err)
          {
              msgErro = err.Message; return (null);
          }
       }
No Silverlight (xaml.cs) :

      private void button1_Click(object sender, RoutedEventArgs e)
       {
           ServiceReference1.Service1Client wcfServico = new ServiceReference1.Service1Client();
           wcfServico.getQueryAsync("Select nome, apelido, telefone From profissionais");
           txtNome.Text = ?

       }

 

E agora como acesso o resultado para carregar as TextBoxs?

O que fiz até agora está certo?

O metodo de acesso ao banco está funcionando bem em um Class.cs em outro projeto em aspx normal.

Compartilhar este post


Link para o post
Compartilhar em outros sites

O wcfServico possui o método getQueryAsync e um delegate que o nome deve ser mais ou menos getQueryCompleted, que ele irá disparar assim que o método terminar de executar, pois a chamada é assincrona, neste método que for ligado ao delegate você alimenta sua label.

 

Abraços...

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.