none
Veri Okuma Hatası RRS feed

  • Soru

  • bu kodlarla direk debug edince xml olarak verileri getiriyor

    [WebMethod]
    public DataTable GetAllOtels()
    {
    string BaglantiCümlesi = ("Server=********;Database=**********;User=********;Password=*******;");
    MySqlConnection Baglanti = new MySqlConnection(BaglantiCümlesi);
    MySqlCommand Komut = Baglanti.CreateCommand();
    MySqlDataReader Dr;
    Komut.CommandText = "SELECT musteri_adi FROM musteriler";
    Baglanti.Open();
    Dr = Komut.ExecuteReader();
    DataTable Dt = new DataTable();
    Dt.Load(Dr);
    Baglanti.Close();
    return Dt;
    }

    bu debug edince çalışıyor bunu windows phone da gösterirkende şu şekilde yapıyorum


    public MainPage()
    {
    InitializeComponent();

    MusteriGetir.OtelCekSoapClient MusteriService = new MusteriGetir.OtelCekSoapClient();
    MusteriService.GetAllOtelsCompleted += new EventHandler<MusteriGetir.GetAllOtelsCompletedEventArgs>(MusteriService_GetAllOtelsCompleted);
    MusteriService.GetAllOtelsAsync();
    }
    void MusteriService_GetAllOtelsCompleted(object sender, MusteriGetir.GetAllOtelsCompletedEventArgs e)
    {


    //listBox1.ItemsSource = e.Result;//bu kodu yazında Cannot implicity convert type diye bir hata veriyor 
    //burda ne yanlış ? 
    listBox1.ItemsSource = e.Result.ToString();
    30 Eylül 2013 Pazartesi 19:49

Yanıtlar

  • Web servisinden DataTable yerine List<string> dönebilirsin ve Sql bağlantı olarak ADO.net yerine linq kullanmanı öneririm daha az satır kod yazarsın.

    //Global değişken: DataClasses1DataContext context = new DataClasses1DataContext();

    LinqDbml dosyası ve Linq kullanımı için şu linke bakabilirsin Linq

    [WebMethod]

    public List<string> GetAll()

    {

      return  List<string> allList=context.tabloadı(s).ToList();

    }

    Wp'de yaptığın şeyler doğru fakat e.Result tan dönen değeri ListBox'un source'sine mantık olarak şöyle vermen lazım. Dönen değerlerin bir liste oldugu için for içinde yapman gerekli yani:

         for (int i = 0; i < e.resut.count; i++)
                    {
                        listBox1.Items.Add(e.Result[i].ToString());
                    }

    gibi düşünebilirsin.

    Tabi şöyle bir sorun var senin tablonun adından anlaşılacağı üzere Müşteri tablosunda çok satır ve sütün vardır. Bilmediğim için kafamdan atıcam 200 kişi çektiğimizi düşünelim WP uygulamanda bunu nasıl göstermeyi düşünüyorsun? Ben böyle bir uygulama örneğini tek satırlı verileri çektiğim bir zaman yapmıştım.


    K.Yurdakök

    4 Ekim 2013 Cuma 08:07

Tüm Yanıtlar

  • DataTable IEnumerable değilde ondan. 

    listBox1.ItemsSource = e.Result.Rows;
    
    olmazsa
    
    listBox1.ItemsSource = ((DataTable)e.Result).Rows;
    
    
    

    şeklinde dene listBox1.ItemsSource = e.Result.ToString(); bu satırıda görmemiş olalım.


    e-mail: onay[nokta]yalciner[at]hotmail[nokta]com
    MCC

    30 Eylül 2013 Pazartesi 22:45
  • ikiside olmadı hocam web servisten datatable değilde list olarak nasıl alabilirim ? o şekilde olursa listboxta rahatça listeleyebilirim sanırım
    1 Ekim 2013 Salı 09:52
  • Web servisinden DataTable yerine List<string> dönebilirsin ve Sql bağlantı olarak ADO.net yerine linq kullanmanı öneririm daha az satır kod yazarsın.

    //Global değişken: DataClasses1DataContext context = new DataClasses1DataContext();

    LinqDbml dosyası ve Linq kullanımı için şu linke bakabilirsin Linq

    [WebMethod]

    public List<string> GetAll()

    {

      return  List<string> allList=context.tabloadı(s).ToList();

    }

    Wp'de yaptığın şeyler doğru fakat e.Result tan dönen değeri ListBox'un source'sine mantık olarak şöyle vermen lazım. Dönen değerlerin bir liste oldugu için for içinde yapman gerekli yani:

         for (int i = 0; i < e.resut.count; i++)
                    {
                        listBox1.Items.Add(e.Result[i].ToString());
                    }

    gibi düşünebilirsin.

    Tabi şöyle bir sorun var senin tablonun adından anlaşılacağı üzere Müşteri tablosunda çok satır ve sütün vardır. Bilmediğim için kafamdan atıcam 200 kişi çektiğimizi düşünelim WP uygulamanda bunu nasıl göstermeyi düşünüyorsun? Ben böyle bir uygulama örneğini tek satırlı verileri çektiğim bir zaman yapmıştım.


    K.Yurdakök

    4 Ekim 2013 Cuma 08:07