Jak se mi zase jednou vymstil nedostatek lenosti

Tomáš Herceg       11. 10. 2009       Offtopic       6484 zobrazení

Jsem dost líný člověk, i když mi někdy přijde, že bych měl být ještě línější. Tou leností nemyslím to, že bych se pořád někde jenom válel. Pokud říkám lenost, mám tím na mysli vystihnout pravého momentu, kdy je vhodné danou činnost už opravdu, ale opravdu udělat. Je to nejpozdější možný moment, pro který platí, že nenastanou-li nějaké nepředvídané komplikace, daná činnost bude udělána včas.

Dnes jsem jel přednášet do Havlíčkova Brodu na studentský seminář o ASP.NET. Vzhledem k tomu, že cílová skupina měli být studenti středních škol (což tedy byla z větší části pravda), nachystal jsem speciální verzi své přednášky “Seznámení s ASP.NET”, která má za cíl ukázat, že programování v ASP.NET je snadné, rychlé a zábavné. Přednáška jako taková se povedla, slajdů bylo jen pár, prakticky celou dobu jsme dělali jedno velké demo (záznam bude k dispozici na MSTV.cz). Pár lidí mě na chodbě odchytlo a pochválilo mě, takže nakonec to dopadlo dobře. Až na jedno menší zaváhání…

Jak bývá mým dobrým zvykem, dema si chystám velmi pečlivě, takže asi týden před přednáškou, když jsem měl zrovna dvě hodinky čas a nemělo cenu začínat nic velkého, jal jsem se začít dělat ukázkovou aplikaci pro tuhle přednášku. Napsal jsem to, co jsem předpokládal, že na přednášce stihneme, už kvůli tomu, že kdybychom postupovali pomalu, mohl bych to ukázat už hotové, abych zbytečně nezdržoval a ukázal to, co jsem chtěl.

Demo jsem napsal v C#, protože poslední dobou v něm píšu všechno. VB.NET používám spíš na svoje ryze soukromé aplikace, k jejichž zdrojákům nemá přístup nikdo jiný, pokud na ní mám s někým spolupracovat, přizpůsobím se většině, která píše v C#.

No a při přednášce jsem samozřejmě suverénně vytvořil novou aplikaci ASP.NET ve Visual Basicu. No a pak během psaní šablony pro Repeater napíšu do binding expressionu výraz v C#, aniž bych si to uvědomil. Samozřejmě to nefunguje, hlásí to nějakou chybu “Neplatný znak”. Ano, děkuji mnohokrát, nemohli byste do té hlášky alespoň napsat, který znak je ten neplatný? Pak by to totiž bylo jasné.

Toto nedopatření způsobilo malý zádrhel – mrknu do hotové aplikace a ať koukám, jak koukám, nemůžu najít žádný překlep, žádnou chybu. V předpřipravené aplikaci je to stejně, ale u mě to prostě nefunguje.

Takže ponaučení pro příště – není radno kombinovat VB.NET a C#, jak se vám to hodí. Pak nevíte, co v čem píšete. A dema jest třeba zásadně dělat nejvýše 1 den dopředu, jinak si nebudete pamatovat, co v nich přesně je. Díky nedostatku lenosti jsem to demo měl bohužel nachystané už týden a takhle to pak dopadlo.

Inu což, příště si dám pozor. Přednáška se i přes toto pětiminutové zaváhání povedla a ze záznamu, který v nejbližších dnech umístím na MSTV.cz, jsem to vykrojil.

 

hodnocení článku

1 bodů / 1 hlasů       Hodnotit mohou jen registrované uživatelé.

 

Nový příspěvek

 

Diskuse: Jak se mi zase jednou vymstil nedostatek lenosti

Dobrý den,

vím, že už je to nějaký pátek od počátku tohoto projektu v asp.net, ale přesto bych se zkusil zeptat:

Zkoušel jsem si vytvořit tento "eshop" a vše funguje tak jak má. Jenom bych potřeboval poradit ohledně jedné věci. Jedná se mi tedy o to, že v databázi se vytvořila tkzv. vazebná tabulka mezi produkty a kategoriemi. Když chci přidat nějaký produkt tak vše funguje tak jak má a produkt se přidá, ale jak bych docílil toho, aby se mi tento produkt zařadil i do příslušné kategorie. Vím, že je v projektu vytvořena vazebná tabulka, ale nedokážu si poradit s tím, aby se při inzertu zapsal produkt nejenom do tabulky produktů, ale aby se přiřadil, respektive, aby se provedl i inzert do vazebné tabulky kategorie - produkt.

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

Diskuse: Jak se mi zase jednou vymstil nedostatek lenosti

Nemůžu s tou aplikací hnout - vyskakuje mi následující chyba.

Server Error in '/GolfShop.original' Application.

There is already an object named 'Users' in the database.

Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

Exception Details: System.Data.SqlClient.SqlException: There is already an object named 'Users' in the database.

Source Error:

An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.

Stack Trace:

[SqlException (0x80131904): There is already an object named 'Users' in the database.]

System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection) +2032870

System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection) +5037992

System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning() +234

System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj) +2275

System.Data.SqlClient.SqlDataReader.HasMoreRows() +211

System.Data.SqlClient.SqlDataReader.ReadInternal(Boolean setTimeout) +217

System.Data.SqlClient.SqlDataReader.NextResult() +187

System.Data.ProviderBase.DataReaderContainer.NextResult() +19

System.Data.Common.DataAdapter.FillNextResult(DataReaderContainer dataReader) +59

System.Data.Common.DataAdapter.FillFromReader(DataSet dataset, DataTable datatable, String srcTable, DataReaderContainer dataReader, Int32 startRecord, Int32 maxRecords, DataColumn parentChapterColumn, Object parentChapterValue) +249

System.Data.Common.DataAdapter.Fill(DataSet dataSet, String srcTable, IDataReader dataReader, Int32 startRecord, Int32 maxRecords) +424

System.Data.Common.DbDataAdapter.FillInternal(DataSet dataset, DataTable[] datatables, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior) +174

System.Data.Common.DbDataAdapter.Fill(DataSet dataSet, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior) +319

System.Data.Common.DbDataAdapter.Fill(DataSet dataSet, String srcTable) +92

System.Web.UI.WebControls.SqlDataSourceView.ExecuteSelect(DataSourceSelectArguments arguments) +1618

System.Web.UI.DataSourceView.Select(DataSourceSelectArguments arguments, DataSourceViewSelectCallback callback) +21

System.Web.UI.WebControls.DataBoundControl.PerformSelect() +152

System.Web.UI.WebControls.ListView.PerformSelect() +125

System.Web.UI.WebControls.BaseDataBoundControl.DataBind() +74

System.Web.UI.WebControls.BaseDataBoundControl.EnsureDataBound() +66

System.Web.UI.WebControls.ListView.CreateChildControls() +105

System.Web.UI.Control.EnsureChildControls() +99

System.Web.UI.Control.PreRenderRecursiveInternal() +42

System.Web.UI.Control.PreRenderRecursiveInternal() +174

System.Web.UI.Control.PreRenderRecursiveInternal() +174

System.Web.UI.Control.PreRenderRecursiveInternal() +174

System.Web.UI.Control.PreRenderRecursiveInternal() +174

System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +2496

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

Diskuse: Jak se mi zase jednou vymstil nedostatek lenosti

Někteří (jako třeba já) jsou líní učit se C# takže u něj nemůže tento problém vzniknout.

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

A na ten záznam se hrozně těším!!!

nahlásit spamnahlásit spam 3 / 3 odpovědětodpovědět
                       
Nadpis:
Antispam: Komu se občas házejí perly?
Příspěvek bude publikován pod identitou   anonym.

Nyní zakládáte pod článkem nové diskusní vlákno.
Pokud chcete reagovat na jiný příspěvek, klikněte na tlačítko "Odpovědět" u některého diskusního příspěvku.

Nyní odpovídáte na příspěvek pod článkem. Nebo chcete raději založit nové vlákno?

 

  • 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