[ASP.NET SQL SERVER]Meerdere rijen toevoegen

Pagina: 1
Acties:

  • Arethusa
  • Registratie: December 2003
  • Laatst online: 12:25

Arethusa

Niet die server

Topicstarter
Ik moet voor mijn studie een web-applicatie maken met ASP.NET (vb) en SQL Server 2000. Deze applicatie omvat een voetbal toernooi. Het is de bedoeling dat naast de gebruikelijke zaken als standen en ranglijsten toevoegen/genereren het ook mogelijk is om teams aan de database toe te voegen. Het gaat hier om 8 teams verdeeld in 2 poules. Poule 1 en 2. Beide poules bevatten dus 4 teams.

Nu wil ik graag doormiddel van knop op de pagina 4 teams tegelijk aan de database toevoegen. Hiermee bedoel ik dat ik een 4 tal tekstboxen heb die de gebruiker invult. Na poule 1 te hebben ingevuld moeten deze teams doormiddel van 1 knop “Toevoegen” aan de database toegevoegd worden.
De database heet Toerooi en bevat momenteel uit 2 tabellen. “Poule1” en “Poule2”. De tabel ziet er als volgt uit:
Column: PouleID als id en als primaire sleutel ingesteld. Bij elke nieuw team word er een nieuw id aangemaakt en opgeteld.
Column: Teams nvarchar.

Ik heb al in diverse fora (gotdotnet, asp.net en vele anderen) rondgekeken. Ook heb ik al een aantal keer in Tweakers fora en FAQ gezocht maar niets gevonden wat ik kan gebruiken. Via google heb ik ook met diverse queries gezocht maar ook niets gevonden wat ik kan gebruiken.

Nu is mijn vraag: is het toevoegen van meerdere rijen tegelijk aan de database wel mogelijk? En zo ja, hoe kan ik het het beste aanpakken?

Mocht er meer informatie nodig zijn dan ben ik uiteraard bereid die de verstrekken.

I've been mad for fucking years, absolutely years, been over the edge for yonks.
Vinyl: Discogs


  • sig69
  • Registratie: Mei 2002
  • Nu online
Nu is mijn vraag: is het toevoegen van meerdere rijen tegelijk aan de database wel mogelijk?
Ja natuurlijk is dat mogelijk, een database met een table met 1 rij zo vrij nutteloos zijn :)

Maar ik neem aan dat je dmv 1 query meerdere rijen toevoegen bedoeld, in dat geval: nee, niet voor zover ik weet.

Roomba E5 te koop


  • whoami
  • Registratie: December 2000
  • Laatst online: 15:14
Je kan dmv een INSERT statement 1 rij invoegen. Als je dat INSERT statement 4x doet (voor ieder record dus), dan heb je 4 records.

Wat je ook kunt doen, is gebruik gaan maken van een DataTable/DataAdapter.
Met deze manier ga je als volgt te werk:
- je maakt een SqlCommand, waar je een INSERT statement aan hangt (met parameters).
- Je definieert iedere parameter in de parameter collection
- je maakt een SqlDataAdapter, en zet je SqlCommand dat je eerder aangemaakt hebt als InsertCommand v/d DataAdapter.
- Je maakt een DataTable waaraan je je records toevoegt
- Je roept de Update() Method v/d DataAdapter aan:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
SqlCommand myInsertCommand = new SqlCommand();
myInsertCommand.Connection = myConnection;
myInsertCommand.CommandType = CommandType.Text;
myInsertCommand.CommandText = "INSERT INTO tabel (veld1, veld2) VALUES (@p_param1, @p_param2)";
myInsertCommand.Parameters.Add ( new SqlParameter( ....... ));

SqlDataAdapter da = new SqlDataAdapter();
da.InsertCommand = myInsertCommand;

DataTable dt = new DataTable;
dt.Columns.Add ("naam", .... );
....

DataRow dr = dt.NewRow();
dr["naam"] = txtNaam.Text;
....

da.Update(dt);


De Update method zal dus voor iedere nieuwe rij in je data-table het INSERT command gaan uitvoeren dat je aan je DataAdapter gehangen hebt, voor iedere gewijzigde rij van je datatable zal het het update-command gaan uitvoeren van je data-adapter, etc....
In jouw geval zal die DataAdapter dus eigenlijk juist hetzelfde doen, zoals jij zou doen met 4x een INSERT statement aan te roepen.

[ Voor 15% gewijzigd door whoami op 23-12-2003 10:02 ]

https://fgheysels.github.io/


  • Arethusa
  • Registratie: December 2003
  • Laatst online: 12:25

Arethusa

Niet die server

Topicstarter
Maar ik neem aan dat je dmv 1 query meerdere rijen toevoegen bedoeld, in dat geval: nee, niet voor zover ik weet.
Dat bedoel ik inderdaad, is er dan misschien een work-around voor? Ik kan wel een aantal keer een INSERT invoeren maar dat is niet acceptabel.

EDIT: te laat zie ik :P

WHOAMI: Jouw oplossing ga ik eens proberen, thanx

[ Voor 14% gewijzigd door Arethusa op 23-12-2003 10:04 ]

I've been mad for fucking years, absolutely years, been over the edge for yonks.
Vinyl: Discogs


  • whoami
  • Registratie: December 2000
  • Laatst online: 15:14
Sieweshaoao schreef op 23 december 2003 @ 10:01:
[...]


Dat bedoel ik inderdaad, is er dan misschien een work-around voor? Ik kan wel een aantal keer een INSERT invoeren maar dat is niet acceptabel.
Waarom is dat niet acceptabel?

https://fgheysels.github.io/


  • sig69
  • Registratie: Mei 2002
  • Nu online
Dan kan je het voorbeeld van whoami hier boven gebruiken. Je zou ook aan een SP kunnen denken die alle vier de rijen toevoegd (zijn wel nog steeds 4 queries dan, maar goed).

Roomba E5 te koop

Pagina: 1