Programim dhe zhvillim, javascript, python, php, html

Si të plotësoni List‹String› me SqlDataAdapter?

Po përpiqem të plotësoj Listën me SqlDataAdapter. Por unë nuk jam në gjendje ta bëj atë. A ka ndonjë metodë tjetër për të mbushur listën e vargut përveç përshtatësit të të dhënave. Ju lutem më ndihmoni për të zgjidhur këtë problem. Faleminderit paraprakisht.

Ky është kodi im:

public List<String> JSONDataAll()
        {
            List<String> Users = new List<String>();
            con.Open();
            SqlCommand cmd = new SqlCommand("sp_sample_Proc", con);
            cmd.CommandType = CommandType.StoredProcedure;
            SqlDataAdapter da = new SqlDataAdapter(cmd);
            da.Fill(Users);
        }

  • dublikatë e mundshme e Si të zgjidhni të dhënat në List‹T› në vend të Tabela e të Dhënave? 17.09.2014
  • Së pari duhet të plotësoni një tabelë të dhënash, më pas krijoni një List<string> nga tabela juaj e të dhënave. 17.09.2014
  • Cili është kthimi i procedurës së ruajtur? A mund të shtoni kodin e PS-së? 17.09.2014
  • Po funksionon tani. 17.09.2014
  • Çfarë ndodh me Edit? Nëse duhet të bëni një pyetje të re, atëherë mos e modifikoni pyetjen tuaj aktuale. Kërkoni një të re. 17.09.2014
  • Më falni..do të postoj në një pyetje të re 17.09.2014

Përgjigjet:


1

Mënyra më e thjeshtë do të ishte leximi i të dhënave tuaja përmes SqlDataReader dhe më pas plotësimi i listës duke përsëritur grupin tuaj të rezultateve. Si:

public List<String> JSONDataAll()
{
    List<String> Users = new List<String>();
    using (SqlConnection con = new SqlConnection("connectionString"))
    {
        con.Open();
        using (SqlCommand cmd = new SqlCommand("sp_sample_Proc", con))
        {
            cmd.CommandType = CommandType.StoredProcedure;
            using (SqlDataReader reader = cmd.ExecuteReader())
            {
                while (reader.Read())
                {
                    Users.Add(reader.GetString(0)); //Specify column index 
                }
            }
        }
    }
    return Users;
}

Në kodin tuaj aktual po përpiqeni të plotësoni List<string> duke përdorur DataAdapter. Ju nuk mund ta bëni këtë. Në vend të kësaj, mund të plotësoni një DataTable dhe më pas të merrni një List<string> si:

DataTable dt = new DataTable();
cmd.CommandType = CommandType.StoredProcedure;
SqlDataAdapter da = new SqlDataAdapter(cmd);
da.Fill(dt);
Users = dt.AsEnumerable()
    .Select(r => r.Field<string>("ColumnName"))
    .ToList();

Por, nuk duhet ta bëni këtë. Do të rezultonte në përsëritje të shumta, së pari për plotësimin e DataTable dhe së dyti për krijimin e List<string>

17.09.2014
  • @Habib ju lutemi të ndihmoni për të marrë të njëjtën gjë në përdorimin e LINQ. Unë kam përditësuar kodin tim LINQ. Po marr një gabim konvertimi. 17.09.2014
  • @user3336505, kjo nuk ka të bëjë fare me shtrirjen e pyetjes aktuale. Nëse keni një problem të ri, atëherë bëni një pyetje të re. Po e merrni gabimin sepse po zgjidhni një lloj anonim dhe më pas po përpiqeni të ktheni List<string>. Si mundet një List<string> të ketë një vlerë Key dhe një numër të plotë të numërimit total? Nuk jam vërtet i sigurt pse po përdorni GroupBy 17.09.2014
  • Dua të dhëna në formën e çelësit dhe vlerës. 17.09.2014
  • @user3336505, nuk mund të kthesh një lloj anonim, mund të krijosh një klasë të re, me dy veti për Key dhe Count dhe të projektosh rezultatin e pyetjes në objektin e asaj klase dhe të kthesh List<ThatClass>., Shih: stackoverflow.com/questions/10073319/ 17.09.2014
  • @Habib Faleminderit shumë që më ndihmove :) 17.09.2014

  • 2

    Ju lutemi provoni këtë

    DataTable dt = new DataTable();
    da.Fill(dt);
    Users = dt.AsEnumerable().Select(n => n.Field<string>(0)).ToList();
    
    17.09.2014

    3

    Nëse llojet në bazën e të dhënave tuaja janë të ndryshme, mund ta përdorni këtë, ajo do të pranojë të gjitha llojet.

    var dataTable= new DataTable();
    dataTable.Fill(dataTable);
    var users = dataTable.AsEnumerable().Select(n => n.ItemArray).ToList();
    

    Ju do të merrni rezultatin si një listë e bukur e elementeve:

    [[3,"Adam","Smith","[email protected]","Kokos",1],
    [5,"Dominika","Smith","[email protected]","Domis",2]]
    
    03.01.2021
    Materiale të reja

    Masterclass Coroutines: Kapitulli-3: Anulimi i korutinave dhe trajtimi i përjashtimeve.
    Mirë se vini në udhëzuesin gjithëpërfshirës mbi Kotlin Coroutines! Në këtë seri artikujsh, unë do t'ju çoj në një udhëtim magjepsës, duke filluar nga bazat dhe gradualisht duke u thelluar në..

    Faketojeni derisa ta arrini me të dhënat false
    A e gjeni ndonjëherë veten duke ndërtuar një aplikacion të ri dhe keni nevojë për të dhëna testimi që duken dhe duken më realiste ose një grup i madh të dhënash për performancën e ngarkesës...

    Si të përdorni kërkesën API në Python
    Kërkesë API në GitHub për të marrë depot e përdoruesve duke përdorur Python. Në këtë artikull, unë shpjegoj procesin hap pas hapi për të trajtuar një kërkesë API për të marrë të dhëna nga..

    Një udhëzues hap pas hapi për të zotëruar React
    Në këtë artikull, do të mësoni se si të krijoni aplikacionin React, do të mësoni se si funksionon React dhe konceptet thelbësore që duhet të dini për të ndërtuar aplikacione React. Learning..

    AI dhe Psikologjia — Pjesa 2
    Në pjesën 2 të serisë sonë të AI dhe Psikologji ne diskutojmë se si makineritë mbledhin dhe përpunojnë të dhëna për të mësuar emocione dhe ndjenja të ndryshme në mendjen e njeriut, duke ndihmuar..

    Esencialet e punës ditore të kodit tim VS
    Shtesat e mia të preferuara - Git Graph 💹 Kjo shtesë është vërtet e mahnitshme, e përdor përpara se të filloj të punoj për të kontrolluar dy herë ndryshimet dhe degët më të fundit, mund të..

    Pse Python? Zbulimi i fuqisë së gjithanshme të një gjiganti programues
    Në peizazhin gjithnjë në zhvillim të gjuhëve të programimit, Python është shfaqur si një forcë dominuese. Rritja e tij meteorike nuk është rastësi. Joshja e Python qëndron në thjeshtësinë,..