webForumDet fria alternativet

Hur skall jag göra

.NET

6 svar · 215 visningar · startad av Nickemannen

Medlem sedan aug. 20003 575 inlägg
Frågan#1

Hur skall jag göra så att

denna funktion fattar att det finns en databaskoppling som heter
objConn ??
?? jag har databaskopplingen i en sådan hära <%%> klammer ovanför?

 <Script language="c#" runat="server">
  void adduser(Object Sender,EventArgs E) {
 	SqlCommand strAddUsrSql = new SqlCommand("Insert Into Mem_Info(name,email,pwd,born) values(@name,@email,@pwd,@born)",objConn);
Medlem sedan juni 20011 732 inlägg
#2

Näj! Glöm bort det här med gamla gamla renderingsblock (vad du envisas ;)) och skriv hela kopplingen mot databasen i din funktion i koden som du exempelvis anropar med en asp-button.

Medlem sedan aug. 20003 575 inlägg
#3

men då får jag ju 2 öppningar på samma sida är inte de lite onödigt?

Medlem sedan juni 20011 732 inlägg
#4

Ja, det är väldigt onödigt. :) Det finns många sätt att lösa det på, läs gärna den här tråden:

http://www.webforum.nu/showthread.php?s=&postid=388411#post388411

Medlem sedan aug. 20003 575 inlägg
#5

hehe, det var jag som startade den ;)

Medlem sedan juni 20011 732 inlägg
#6

Haha, ja det var det ju. :) Då antar jag att du har läst den. Du kan göra på samma sätt när du uppdaterar din databas... skapa en klass, skicka lämpliga inparametrar. Med lite trixande kan du bygga en klass som kan uppdatera vilken databas som helst med vilka data som helst. Sedan är det kanske inte alltid lämpligt att bygga en så pass generell klass förstås, något där emellan brukar vara lagom.

Personligen om jag bara har en sida eller två med ett par olika kopplingar till en db så brukar jag skriva uppkopplingen i respektive funktion i kombination med globala variabler från global.asax, även om det ibland innebär lite dubbelkod. Ur prestandasynpunkt tjänar du inget på att bygga en egen klass för detta.

Medlem sedan juni 20011 732 inlägg
#7

Ett tips för att få ännu bättre struktur är ju att använda codebehind, dvs att du helt skiljer på presentation (asp.net, html etc) och kod (c#, vb.net etc). Jag ser att du inte använder vs.net, där är detta upplägg givet... men även om det är bökigare utan vs.net så tror jag du kommer få bättre flyt om du programmerar på det sättet. Att helt skilja på presentation och logik var (är) ju en av grundpelarna när asp.net utvecklades!

275 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849
118 ms — deklarationer (db)
0 ms — hämta statistik (cache)
138 ms — hämta tråd, inlägg och bilagor (db)
134 ms — ändringar (db)