[ASP.NET] Database-verbindingen centraal regelen

Pagina: 1
Acties:

  • EmilneM
  • Registratie: December 2001
  • Laatst online: 15-09-2023
Voor een webapplicatie gebruik ik flink wat SQL-queries op meerdere webforms. Het is niet erg handig om op elk van deze webforms alle code voor database-connectie en -updates opnieuw te produceren.

Voor selects maak ik gebruik van de OdbcDataAdapter:
Visual Basic .NET:
1
2
3
4
5
6
7
8
Dim sSelect As String = "SELECT ID, Naam, Plaats FROM klanten"
Dim cmdCommand As New OdbcDataAdapter(sSelect, con)
Dim ds As New DataSet

cmdCommand.Fill(ds)

dgGrid.DataSource = ds
dgGrid.DataBind()


Voor updates gebruik ik het OdbcCommand:
Visual Basic .NET:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
Dim sUpdate As String = _
    "UPDATE klanten " & _
    "SET " & _
        "Naam = @Naam, " & _
        "Plaats = @Plaats, " & _
    "WHERE " & _
        "ID = @ID"
Dim cmdCommand As OdbcCommand = New OdbcCommand(sUpdate, con)

cmdCommand.Parameters.Add("@ID", OdbcType.Int)
cmdCommand.Parameters.Add("@Naam", OdbcType.Int)
cmdCommand.Parameters.Add("@Plaats", OdbcType.Int)

Try
    con.Open()
    cmdCommand.ExecuteNonQuery()
Catch ex As Exception

Finally
    con.Close()
End Try


Wat is de mooiste manier om je databaseconnectie centraal te regelen.
In een apart component?
Hoe roep ik ze dan snel en efficient aan en wat doe ik met de parameters?

[ Voor 20% gewijzigd door EmilneM op 23-11-2004 16:27 ]


  • crisp
  • Registratie: Februari 2000
  • Nu online

crisp

Devver

Pixelated

iew, serverside

* crisp schopt het topic over de schutting...

Intentionally left blank


  • whoami
  • Registratie: December 2000
  • Laatst online: 23:34
Maak gebruik van een data access laag, en maak eventueel gebruik van een 'DbHelper' component. (Zie de MS application blocks; data application block, of creeër je eigen 'helper').

https://fgheysels.github.io/


  • gorgi_19
  • Registratie: Mei 2002
  • Nu online

gorgi_19

Kruimeltjes zijn weer op :9

Je creert een aparte DAL, waar alle SQL statements in staan. Of je maakt gebruik van een o/r mapper?

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • EmilneM
  • Registratie: December 2001
  • Laatst online: 15-09-2023
gorgi_19 schreef op dinsdag 23 november 2004 @ 16:32:
Je creert een aparte DAL, waar alle SQL statements in staan. Of je maakt gebruik van een o/r mapper?
Hoe doe ik dit en hoe roep ik dan vanuit de verschillende webforms de SQL-statements aan in een OdbcCommand?

  • J2pc
  • Registratie: Oktober 2002
  • Niet online

J2pc

UT Tux Edition

asp.net = oo

Wat dacht je van een class met functies voor dataset, datareader, execute scalar etc.
(heb ik i.i.g. gedaan)

"The computer is incredibly fast, accurate, and stupid. Man is unbelievably slow, inaccurate, and brilliant. The marriage of the two is a challenge and opportunity beyond imagination." © Stuart G. Walesh


  • whoami
  • Registratie: December 2000
  • Laatst online: 23:34
J2pc schreef op dinsdag 23 november 2004 @ 16:35:
asp.net = oo

Wat dacht je van een class met functies voor dataset, datareader, execute scalar etc.
(heb ik i.i.g. gedaan)
Dan nog heb je niet noodzakelijk een centrale plaats waar al je Sql statements en DB access in plaats vind.

TS: je maakt een nieuw project (DLL), waarin je componenten bouwt die gegevens gaan ophalen, bewaren, verwijderen, etc...
Je kan bv. voor iedere 'logische' groep tabellen een (stateless) component gaan bouwen die ervoor zorgt dat je zo'n 'logische' unit kan gaan saven, ophalen, etc...
In je asp.net pagina gebruik je dan die component. In de code-behind van die pagina, zal je dus geen OleDbConnections, Commands, etc... zien staan.

[ Voor 13% gewijzigd door whoami op 24-11-2004 08:41 ]

https://fgheysels.github.io/


  • 6K
  • Registratie: September 2002
  • Laatst online: 19-01-2025

6K

is ook zo...

Zoek anders eens op DAAB 3.0 (= Data Access Application Blocks)
GotDotNet heeft hier een versie van staan die het merendeel wel dekt...
Als je deze download kun je de dll includen in je applicatie en bijvoorbeeld de SQLHelper of de ADOHelper (static) aanroepen om een private helper te creeeren waar alle intelligentie al in zit.

[ Voor 7% gewijzigd door 6K op 24-11-2004 08:43 ]

٩(͡๏̯͡๏)۶ ٩(●̮̮̃•̃)۶


  • lier
  • Registratie: Januari 2004
  • Laatst online: 07:55

lier

MikroTik nerd

Misschien ook het overwegen waard om met stored procedures te gaan werken ? (ik ga van een Microsoft SQL server database uit...)

Eerst het probleem, dan de oplossing


  • whoami
  • Registratie: December 2000
  • Laatst online: 23:34
lier schreef op woensdag 24 november 2004 @ 09:00:
Misschien ook het overwegen waard om met stored procedures te gaan werken ? (ik ga van een Microsoft SQL server database uit...)
Stored procedures kunnen handig zijn, maar niet in alle gevallen.
Daarbij lost dat het probleem van de TS niet op; als je een SP gebruikt, dan heb je nog een Connection, Command, ... nodig.
Als je een data access layer maakt, dan gebruik je die DAL componenten in je applicatie zelf; je data access layer bevat dan de SQL code of de aanroepen van de SP's.

https://fgheysels.github.io/

Pagina: 1