Vytah dat z DB a prace s nimi   otázka

ASP.NET WebForms

Potrebuji vytahnout data z databaze a pracovat s nimi, abych se dobral nejakeho sveho vysledku.

Vytvoril jsem si tabulku Test , v ni mam sloupce TestId a Cislo.

Na jedne strance potrebuji vytahnout Cislo z me tabulky Test a pracovat s vysledkem jako promennou, kde napisu treba neco jako "Pokud je cislo vetsi nez 1 napis 100".

Problem je, ze nevim jak vytahnu tada z db, respektive nevim kam napsat nejaky dotaz, jedu podle turtorialu, ale v nem je vse naklikane a studio generuje kod samo a nevim kam to mam psat.

Prosim vas o pomoc ?

Jsem zacatecnik, snazim se pochopit, ale programuji PHP a tam je to jine a nejspis me to plete. Myslim si, ze muj problem bude urcite trivialni. ASP se mi libi a chtel bych vedet vice, bohuzel pokud nemohu pracovat s jednotlivymi daty z databaze, vice se nenaucim.

Dekuji za odpoved

Jakub H.

nahlásit spamnahlásit spam 1 / 1 odpovědětodpovědět

Naučte se nejdříve jeden z .net jazyků,nejlépe vb.net nebo C#.Bez toho v podstatě nemá cenu začínat.Jak je již z názvu patrné asp.net je postaven nad .netem.

Práce s daty je jedna z nejzákladnějších funkcí,bez které se opravdu dále nepohnete.

Co se týče Vašeho dotazu,pokud jsem pochopil správně tak chcete s daty z DB dále pracovat a nějakým způsobem je měnit,to budete muset ošetřit v code-behind,samozřejmě podle toho co hodláte dělat za operace.

nahlásit spamnahlásit spam 1 / 1 odpovědětodpovědět

Dobry den,

dekuji za odpoved. Vim co se musim naucit, proto se tu ptam a C# se ucim take. Psat kod rucne a delat ve visual studiu je dost rozdilne. Podle turtorialu Tomase mi vse funguje dost veci jsem pochopil, knihy tu mam take, prolezam internet, umim vytahnout data, pouze, ale ve studiu.

V php vypada stranka treba takto:

<?

sql dotaz ulozen do promenne

kdyz je promena mensi nez 1 napis je vetsi a uloz do promenne

?>

<body>

<? ukaz vysledek ?>

</body>

problem je, ze jedine co nechapu jak vypada dotaz na db, protoze ve studiu to napise DataSourceID="SqlDataSource2", ale ja nevim kde mam najit ten dotaz, treba pro zmenu. Toto nechapu. Nevim jak ma vypadat dotaz do db, snazim se o to, ale vzdy je tam chyba.

Snad jsem to vysvetlil lepe. Dekuji

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Zkuste se podívat po netu na práci s DataReader. Je to taková věc se kterou dá "pracovat na podobné filozofii jako v PHP". Založíte connection, přidáte sql dotaz a výsledek získáte jako kolekci db řádků (hodně podobné práci s result setem v PHP). Doufám, že mě tu znalci neukamenují.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Dobry den,

zkousim zkousim cely den, ale stale resim jen jednu chybu ta to tuto:

Compilation Error

Description: An error occurred during the compilation of a resource required to service this request. Please review the following specific error details and modify your source code appropriately.

Compiler Error Message: CS1519: Invalid token '(' in class, struct, or interface member declaration

Source Error:

Line 45: DataSet ds = new DataSet("kolo");

Line 46:

Line 47: conn.Open();

Line 48: da.SelectCommand = com;

Line 49: da.Fill(ds, "test");

Pri jakemkoliv mem pokusu mi to hodi tuto chybu, at to dam kam to dam.

Pokud by mel prosim nekdo trpelivost, muze mi napsat na email [email protected] nebo icq 314843316. PS: neotravuji zbytecne

Dekuji za trpelivost vazim si toho.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

dd,

uz jsem dobojoval a pochopil. Dekuji za pomoc. ;)

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Je potřeba si uvědomit, že v ASP.NET se pracuje úplně jinak a není vhodné používat přímo bloky kódu <% %> jako v PHP.

Takže kódp or vytažení hodnoty z DB patří třeba do události Page_Load (záleží na situaci) a pomocí hodnoty modifikujete vlastnost nějaké komponenty, např. Label, Literal nebo tak (třeba jej pomocí vlastnosti Visible skryjete či zobrazíte, nebu mu nastavíte vlastnost Text).

nahlásit spamnahlásit spam 1 / 1 odpovědětodpovědět

Dekuji Tomasi,

ano pochopil jsem ze bloky se tu nepouzivaji, proto me to zmatlo a nevedel jsem kam to mam dat, ted to mam v page_load, prisel jsem na oba zpusoby jak vytahnout ty data a mel bych jeste jednu otazku.

Jaky je rozdil mezi DataSet a SqlDataReader? Povedlo se mi vypsat data z db obema zpusoby, jen nevim, kdy ktery pouzit.

Jinak je to podobne jako PHP jen je treba uvedomit si kam se co ma dat. Ale prijde mi to zde prehlednejsi.

Dekuji

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Velmi zjednodušeně řečeno DataSet vytáhne celý výsledek z databáze najednou a uloží ho do paměti (což je dost neefektivní v případě, že vytahuješ třeba tisíc řádků), DataReader prochází data po řádcích a nemusí se tedy ani všechny najednou vejít do paměti.

U malých dat je to asi jedno.

nahlásit spamnahlásit spam 1 / 1 odpovědětodpovědět
                       
Nadpis:
Antispam: Komu se občas házejí perly?
Příspěvek bude publikován pod identitou   anonym.
  • Administrátoři si vyhrazují právo komentáře upravovat či mazat bez udání důvodu.
    Mazány budou zejména komentáře obsahující vulgarity nebo porušující pravidla publikování.
  • Pokud nejste zaregistrováni, Vaše IP adresa bude zveřejněna. Pokud s tímto nesouhlasíte, příspěvek neodesílejte.

přihlásit pomocí externího účtu

přihlásit pomocí jména a hesla

Uživatel:
Heslo:

zapomenuté heslo

 

založit nový uživatelský účet

zaregistrujte se

 
zavřít

Nahlásit spam

Opravdu chcete tento příspěvek nahlásit pro porušování pravidel fóra?

Nahlásit Zrušit

Chyba

zavřít

feedback