Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


felhantering

Postades av 2007-02-24 01:13:43 - Ulf Wirén-Hallqvist, i forum asp.net generellt, Tråden har 11 Kommentarer och lästs av 606 personer

Hej!
Jag undrar om det finns någon väldigt vänlig person här inne på forumet som skulle kunna hjälpa mig att lägga till lite felhantering i mitt nyhetsscript. Jag läst att man kan använda sig utav Try and catch, datalager m.m. jag har läst och kollat på det men aldrig lyckats greppa hur man använder något av det så vore kul om någon kunde ta sig lite tid och lägga till en felhantering i mitt lilla nyhetsscript här så att jag får se hur det hela fungerar i praktiken, har en känsla av att allt skulle ramla ned då och jag skulle förstå hur det fungerar för märker att jag inte får ut direkt mycket mer av att sitta och läsa om det.

protected void Addnews()
    {
        SqlConnection cnn = new SqlConnection(strCon);
        //Parametrar
        SqlParameter subject = new SqlParameter("subject", txtSubject.Text);
        SqlParameter news = new SqlParameter("news", txtNews.Text);
        //SqlParameter author = new SqlParameter("Author");
        SqlCommand cmd = new SqlCommand();
        cmd.Connection = cnn;
        cmd.CommandText = "INSERT INTO news (subject, news]) " +
                          "VALUES (@subject, @news)";
        cmd.Parameters.Add(subject);
        cmd.Parameters.Add(news);
        cnn.Open();
        cmd.ExecuteNonQuery();
        cnn.Close();
        lblStatus.Text = "Din nyhet har lagts till";
        txtSubject.Text = "";
        txtNews.Text = "";

    }


Svara

Sv: felhantering

Postades av 2007-02-24 11:19:42 - Johan Djupmarker

I sin enklaste form skulle det kunna se ut såhär:

protected void Addnews()
    {
        try
        {
            SqlConnection cnn = new SqlConnection(strCon);
            //Parametrar
            SqlParameter subject = new SqlParameter("subject", txtSubject.Text);
            SqlParameter news = new SqlParameter("news", txtNews.Text);
            //SqlParameter author = new SqlParameter("Author");
            SqlCommand cmd = new SqlCommand();
            cmd.Connection = cnn;
            cmd.CommandText = "INSERT INTO news (subject, news]) " +
                              "VALUES (@subject, @news)";
            cmd.Parameters.Add(subject);
            cmd.Parameters.Add(news);
            cnn.Open();
            cmd.ExecuteNonQuery();
            cnn.Close();
            lblStatus.Text = "Din nyhet har lagts till";
            txtSubject.Text = "";
            txtNews.Text = "";
        }
        catch (System.Exception ex)
        {
            lblStatus.Text = "Något gick fel (" + ex.Message + ")";
        }
    }


/Johan


Svara

Sv:felhantering

Postades av 2007-02-24 14:22:06 - Ted Nyberg

Använd gärna "finally" för att stänga databasanslutningen för att försäkra dig om att du inte öppnar massa databasanslutningar som bara lämnas åt sitt öde om ett fel uppstår.

try
{
SqlConnection con = new SqlConnection(connectioString);
con.Open();
GörLiteDatabasOperationer(); //Här uppstår ett fel, con.Close() anropas alltså inte här
con.Close();
}
catch(Exception ex)
{
string errorMessage = ex.Message;
}
finally //Körs efter att catch-blocket exekverats
{
con.Close();
}


Svara

Sv: felhantering

Postades av 2007-02-24 14:37:03 - Ulf Wirén-Hallqvist

Ska jag alltså ha con.Close(); både i try och finaly?


Svara

Sv:felhantering

Postades av 2007-02-24 15:02:58 - Ted Nyberg

Nej, det borde jag ha förtydligat! :) Ville bara understryka att con.Close() måste köras oavsett om fel inträffar, och att det därför INTE är lämpligt att inkludera con.Close() i try-blocket.

Alltså behöver du con.Close() ENBART i finally-blocket!


Svara

Sv: felhantering

Postades av 2007-02-24 15:25:02 - Ulf Wirén-Hallqvist

okej, tack så mycket :)
antar att jag måste gå in med ett värde i finaly, efter som jag får följande fel:
Compiler Error Message: CS0103: The name 'cnn' does not exist in the current context
men, hur skriver jag det? jag har testat på lite olika sätt men inget har blivit rätt.

men för att spinna vidare lite på det här nyhetsscriptet så skulle jag vilja skriva ut det på ett speciellt sätt.
Det som så att jag vill skapa en egen artikel eller vad man säger. Jag ska försöka beskriva så bra som möjligt vad jag är ute efter.
På första sidan vill jag ha en kolumn med nyheter, där ska han hämta ut 5 stycken från databasen men jag vill inte att han ska skriva ut hela utan jag vill att nyheten ska avslutas efter x antal tecken, exempelvis 200.
Rubriken
nyheten med 200 som sedan avbryts
läs mer....
hur gör jag så att en nyhet avbryts efter 200 tecken och att man måste klicka på "läs mer" knappen för att få läsa hela nyheten. Använder mig som sagt av C# kod och skriver koden i en separat .cs fil. som leder mig till nästa fråga. nyhetsscriptet är uppbyggt i en tabell som loopas ut, går det att skilja all asp kod från html koden då eller krävs det jag har ett select script vid tabellen och inom varje <td> tagg skriven koden för att hämta ut respektive "sak" ur databasen?


Svara

Sv:felhantering

Postades av 2007-02-24 16:14:29 - Ted Nyberg

Du måste deklarera SqlConnection-objektet INNAN try-blocket. Vänta därmed med att tilldela SqlConnection-objektet tills du är inne i try-blocket, i händelse att ett fel uppstår när Connection-objektet ska skapas/tilldelas.

Alltså:

SqlConnection cnn;

try
{
cnn = new SqlConnection()
.....

Om du max vill ha ett visst antal tecken från en sträng kan du använda SubString().

Exempel:

string Nyheten = "Här kommer en glad nyhet";

if(Nyheten.Length > 200)

string EnBitAvNyheten = Nyheten.SubString(0,200);


Svara

Sv: felhantering

Postades av 2007-02-24 16:23:55 - Ulf Wirén-Hallqvist

hmm, jag deklarerade SqlConnection utanför nu, men då fick jag istället
Compiler Error Message: CS0165: Use of unassigned local variable 'cnn'

Tack för "nedbrytningen av text" eller vad man ska kalla det!


Svara

Sv:felhantering

Postades av 2007-02-24 16:35:38 - Ted Nyberg

Gör så här:

SqlConnection cnn = new SqlConnection();

try
{
cnn.ConnectionString = "...";
...............

Vad bra att det löste sig med "nedbrytningen"! :)


Svara

Sv: felhantering

Postades av 2007-02-24 17:21:17 - Ulf Wirén-Hallqvist

tack, det var jag som hade klantat till mig märkte jag.
men till att återgå till det som jag frågade om förut, hur delar jag upp en select sats i tabellkolumner.
Jag har tidigare kodat lite php och då gjorde jag så här:

echo '
   <table width="100%" border="0" cellspacing="0" cellpadding="2">
      <tr bgcolor="#'.$bgcolor.'">
        <td width="6%"><div align="center"></div></td>
        <td width="6%"><div align="center"></div></td>
        <td width="65%">' . $headline . '</td>
        <td width="17%">' . $lastedit . '</td>
      </tr>
	</table>';

där $lastedit osv är variabler jag hämtar från databasen. men nu när jag kodar asp så använder jag mig utav en separat .cs fil där all kod ska ligga... hur löser jag en sån här sak när all asp kod ska ligga i .cs filer. Eller är det en omöjlighet så att jag måste blanda lite kod här?


Svara

Sv:felhantering

Postades av 2007-02-26 08:17:42 - Ted Nyberg

Vad menar du?

Publika variabler i .cs-filen kan du komma åt genom <% =dittvariabelnamn %> i din HTML-markup.

Men vad du menar med att "dela upp en select-sats" vet jag inte. Du kanske bör titta på en GridView om du vill binda en tabell i databasen till en tabelliknande presentation?


Svara

Sv: felhantering

Postades av 2007-02-27 21:27:01 - Ulf Wirén-Hallqvist

<% var exakt vad jag menade %> tack!


Svara

Nyligen

  • 21:28 Chicken Road Casino Game
  • 21:21 1xBet Promo Code 2025
  • 18:37 Remove the bumper in AUDI
  • 15:35 Chicken road crash game
  • 21:41 Automotive Services UK
  • 20:44 Erfarenhet av CBD-olja mot sömnpro
  • 12:13 Sex Dolls for Sale
  • 19:42 Online Casinos for Haitian Players

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 570 937
27 965
271 780
1 107
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies