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


Parametrar

Postades av 2006-02-22 12:04:08 - Björn Kullberg, i forum c# (c-sharp), Tråden har 9 Kommentarer och lästs av 851 personer

Hej,

följande kod:

_con = daoConn.GetConnected();
_con.Open();
_trans = _con.BeginTransaction(System.Data.IsolationLevel.ReadCommitted);
_cmd = _con.CreateCommand();
_cmd.Connection = _con;

_cmd.Transaction = _trans;
_cmd.CommandText = " DELETE FROM round WHERE round_id = 1 ";
_cmd.ExecuteNonQuery();
for (int i = 1; i <= noOfHoles; i++)
{
_cmd.CommandText = " INSERT INTO round (round_id, hole_id, player_id, golf_club_id, golf_course_id " 
+ " , strokes, score, gir, fw_hit, putts  ) "
+ " VALUES (?, ?, ?,?, ?, ?, ?, ?, ?, ? ) ";
_cmd.Parameters.Add("@roundId", roundId);
_cmd.Parameters.Add("@holeId", i);
_cmd.Parameters.Add("@playerId", playerId);
_cmd.Parameters.Add("@clubIb", clubId);
_cmd.Parameters.Add("@courseId", courseId);
_cmd.Parameters.Add("@strokes", (int)_strokes[i]);
_cmd.Parameters.Add("@score", (int)_score[i]);
_cmd.Parameters.Add("@gir", (int)_gir[i]);
_cmd.Parameters.Add("@fwHit", (int)_fwHit[i]);
_cmd.Parameters.Add("@putts", (int)_putts[i]);
_cmd.ExecuteNonQuery();
}
_trans.Commit();
SaveIsOkay = true;


I första loopen ersätts alla parametrar rätt. Men inte i övriga loopar utan där blir värden precis som i första varvet. Varför?

Kör V1 av Framework.

/B


Svara

Sv: Parametrar

Postades av 2006-02-22 13:12:59 - Johan Djupmarker

Jag gissar att det beror på att du återanvänder samma commandobjekt hela tiden och att parametrarnas värde ligger kvar då. Jag har ingen aning om detta fungerar, men du kan ju testa att lägga till följande först i loopen:

_cmd.Parameters.Clear();

/Johan


Svara

Sv:Parametrar

Postades av 2006-02-22 13:18:04 - Björn Kullberg

Så var det :)

Tack för hjälpen!

/B


Svara

Sv: Parametrar

Postades av 2006-02-22 13:38:16 - Emma Magnusson

Har du kollat så att dina listor verkligen innehåller rätt värden?

/Emma


Svara

Sv: Parametrar

Postades av 2006-02-23 16:26:55 - Andreas Hillqvist

Jag skulle gjort på följande sätt:

_con = daoConn.GetConnected();
_con.Open();
_trans = _con.BeginTransaction(System.Data.IsolationLevel.ReadCommitted);
_cmd = _con.CreateCommand();
_cmd.Connection = _con;

_cmd.Transaction = _trans;
_cmd.CommandText = " DELETE FROM round WHERE round_id = 1 ";
_cmd.ExecuteNonQuery();

_cmd.CommandText = " INSERT INTO round (round_id, player_id, golf_club_id, golf_course_id, " 
				+ " hole_id, strokes, score, gir, fw_hit, putts ) "
				+ " VALUES (@roundId, @playerId, @clubId, @courseId, @holeId, @strokes, @score, @gir, @fwHit, @putts ) ";
			
createParameter( _cmd, "@roundId", OleDbType.Integer, 0, roundId);
createParameter( _cmd, "@playerId", OleDbType.Integer, 0, playerId);
createParameter( _cmd, "@clubId", OleDbType.Integer, 0, clubId);
createParameter( _cmd, "@courseId", OleDbType.Integer, 0, courseId);

OleDbParameter holeId = createParameter( _cmd, "@holeId", OleDbType.Integer, 0); 
OleDbParameter strokes = createParameter( _cmd, "@strokes", OleDbType.Integer, 0); 
OleDbParameter score = createParameter( _cmd, "@score", OleDbType.Integer, 0); 
OleDbParameter gir = createParameter( _cmd, "@gir", OleDbType.Integer, 0); 
OleDbParameter fwHit = createParameter( _cmd, "@fwHit", OleDbType.Integer, 0); 
OleDbParameter putts = createParameter( _cmd, "@putts", OleDbType.Integer, 0); 
			
_cmd.Prepare(); 
for (int i = 1; i <= noOfHoles; i++)
{
	holeId.Value = i;
	strokes.Value = (int)_strokes[i];
	score.Value = (int)_score[i];
	gir.Value = (int)_gir[i];
	fwHit.Value = (int)_fwHit[i];
	putts.Value = (int)_putts[i];
	_cmd.ExecuteNonQuery();
}
_trans.Commit();
SaveIsOkay = true;


private OleDbParameter createParameter(OleDbCommand cmd, string name, OleDbType type, int size, object Value )
{
	OleDbParameter parameter = createParameter(cmd,name,type,size);
	parameter.Value = Value;
	return parameter;
}

private OleDbParameter createParameter(OleDbCommand cmd, string name, OleDbType type, int size )
{
	OleDbParameter parameter = new OleDbParameter(name, type, 0);
	cmd.Parameters.Add(parameter);
	return parameter;
}


Svara

Sv:Parametrar

Postades av 2006-02-24 23:59:18 - Jonas Stensved

Det är ingen bra lösning att rensa parametrarna.

Skapa parametrarna innan och ändra dom i loopen istället.

Det går snabbare.


Svara

Sv: Parametrar

Postades av 2006-02-26 09:23:56 - Andreas Hillqvist

Var inte det jag föreslog. :oP


Svara

Sv:Parametrar

Postades av 2006-02-26 12:50:00 - Björn Kullberg

Fungerar detta i C# (net 1.1?)? Jag har haft stora problem med namnsatta parameters i OleDB emot access.

/B


Svara

Sv: Parametrar

Postades av 2006-02-26 20:20:28 - Andreas Hillqvist

Kalla parametrarna vad du vill. Det viktigaste är hur du anropar dem.

Har själv kört koden mot en access databas i VS 2003.


Svara

Nyligen

  • 09:09 Vill du köpa medicinska tester?
  • 12:47 Vem beviljar assistansen – kommune
  • 14:17 Någon med erfarenhet av hemstädnin
  • 14:14 Bör man använda sig av en båtförme
  • 14:12 Finns det någon intressant hundblo
  • 14:25 Tips på verktyg för att skapa QR-k
  • 14:23 Tips på verktyg för att skapa QR-k
  • 20:52 Fungerer innskuddsbonuser egentlig

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 569 166
27 952
271 704
652
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