fredag 31 december 2010

Nytt Projekt: xyz, del 1

Mitt nya projekt med arbetsnamet xyz ska ha följande funktioner:
- Skriva text i ett formulär och lagra det i databasen.
- Hämta text från databasen och visa det på en vanlig sida
- Hämta text från databasen och visa det i ett formulär för ändring och sedan lagring i databasen.
- Bortmarkering av text.
- Lista rubriker till lagrade texter efter senaste ändringsdatum med möjlighet att hämta text med klick på rubriken
- Lista rubriker till lagrade bortmarkerade texter efter senaste borttagningsdatum
- Borttagning av bortmarkerad text.
- Redigering av sidor med CSS
- Införande av MasterPage

Databasen ska innehålla tabellen Page med följande uppgifter
- Id
- Headline
- Pagetext
- CreateDate
- ChangeDate
- DeleteDate

Systemet skapas med C#, Visual Studio 10, Framework 4, MS SQL Server 2008. Allt i Expressversioner, dvs gratis.

Databasen skapas raskt på samma sätt som förra gången. Sedan lägger jag in koden som hämtar och en visar en post från tidigare test. Två problem uppstår. Jag kommer inte ihåg hur jag uppdaterade Web.Configs connectionString. Och satsen Label1.Text = reader["PageText"] fungerar inte.

ConnectionString skriver jag in manuellt efter förebilder och det ser ut att fungera. Felmeddelandet från Reader-satsen säger att Reader inte kan konvertera ett objekt till en sträng. Det visar sig bero på att fältet PageText fått typen nchar(500) som är en arrayobjekt men ska vara nvarchar(500) som uppfattas som en sträng.

Det visar sig inte vara helt enkelt att ändra. Vid save av den ändrade tabellen kommer detta meddelande
 
Jag tar vara på möjligheten att kunna ändra tabellers struktur och det går sedan snabbt att spara tabellen.

Men, big surprice, felet kvarstår i Label1.Text = reader["PageText"]! Jag prövar med Label1.ToString = reader["PageText"]; men får meddelandet Cannot assign to "ToString" because it is a 'method group'

Har hittat en beskrivning av hur man hämtar och ändrar data med ADO.NET. Den kan nog vara värd att läsa. Det ser ut som om jag får fortsätta med detta nästa år.
------
Kunde inte slita mig. Felet ovan berodde på fältet PageText inte ingick i SQL-satsen. När den ändrades till "SELECT * FROM Page" fungerade det.

Inga kommentarer:

Skicka en kommentar