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


Insert / Update

Postades av 2013-03-25 22:09:59 - Martin Rex, i forum c# (c-sharp), Tråden har 2 Kommentarer och lästs av 6415 personer

Hej,

Jag vill spara / uppdatera poster i en tabell ( flera tabeller).

Följande fungerar men kan ju inte vara guds mening ???

Det är ett antal textboxar som ska sparas / uppdateras i tabellen.

Mycket kod för lite jobb...

Parameter in = this (en form)

Bättre förslag ?


       public void InsertItem(frmItemDetails _that)
        {


            conItem = new SqlCeConnection();
            conItem.ConnectionString = conStr;
            conItem.Open();



            SqlCeCommand cmd = new SqlCeCommand(@"INSERT INTO ItemTable (ItemId, ItemName, ExternalItemId, DrawingNo, Materials, Color, Length, Depth,Width,
                                                Weight, Packing, NumInPack, PackWeight, PackLength, PackDepth, PackWidth, Notes, StockLoc, InStock, InReservation)
                                                VALUES(@ItemId, @ItemName, @ExternalItemId, @DrawingNo, @Materials, @Color, @Length, @Depth, @Width,
                                                @Weight, @Packing, @NumInPack, @PackWeight, @PackLength, @PackDepth, @PackWidth, @Notes, @StockLoc, @InStock,@InReservation)", conItem);

            cmd.Parameters.AddWithValue("@ItemId", _that.tbItemId.Text);
            cmd.Parameters.AddWithValue("@ItemName", _that.tbItemName.Text);
            cmd.Parameters.AddWithValue("@ExternalItemId", _that.tbExternalItemId.Text);
            cmd.Parameters.AddWithValue("@DrawingNo", _that.tbDrawingNo.Text);
            cmd.Parameters.AddWithValue("@Materials", _that.tbMaterials.Text);
            cmd.Parameters.AddWithValue("@Color", _that.tbColor.Text);
            cmd.Parameters.AddWithValue("@Length",_that.tbLength.Text);
            cmd.Parameters.AddWithValue("@Depth", _that.tbDepth.Text);
            cmd.Parameters.AddWithValue("@Width", _that.tbWidth.Text);
            cmd.Parameters.AddWithValue("@Weight", _that.tbWeight.Text);
            cmd.Parameters.AddWithValue("@Packing" ,_that.tbPacking.Text);
            cmd.Parameters.AddWithValue("@NumInPack", _that.tbNumInPack.Text);
            cmd.Parameters.AddWithValue("@PackWeight", _that.tbPackWidth.Text);
            cmd.Parameters.AddWithValue("@PackLength", _that.tbPackLength.Text);
            cmd.Parameters.AddWithValue("@PackDepth", _that.tbPackDepth.Text);
            cmd.Parameters.AddWithValue("@PackWidth", _that.tbPackWidth.Text);
            cmd.Parameters.AddWithValue("@Notes", _that.tbNotes.Text);
            cmd.Parameters.AddWithValue("@StockLoc", _that.tbStockLoc.Text);
            cmd.Parameters.AddWithValue("@InStock", _that.tbInStock.Text);
            cmd.Parameters.AddWithValue("@InReservation", _that.tbInReservation.Text);
            
          
            cmd.ExecuteNonQuery();
            conItem.Close();


        }
    }


Svara

Sv: Insert / Update

Postades av 2013-03-26 11:26:23 - Tomas Granlund

Kolla på Entity Framework (eller nåt annat liknande OR-ramverk)!
http://msdn.microsoft.com/en-us/data/ef.aspx

Då kan du få nåt i stil med:

public void SaveItem(Item item)
{
	using (var db = new ItemContext())
	{
		if (item.ItemId != 0) // Update existing
		{
			db.Items.Attach(item);
			db.ObjectStateManager.ChangeObjectState(item, EntityState.Modified);
		}
		else // Insert new
		{
			db.Items.AddObject(item);
		}
		db.SaveChanges();
	}
}

I slutänden blir det såklart i stort sett samma SQL som i ditt exempel, men du slipper pilla ihop den själv eftersom EF gör det åt dig.


Svara

Sv:Insert / Update

Postades av 2013-03-26 11:54:50 - Martin Rex

Tack Tomas.

Jag misstänkte att det fanns något för att minska kodandet.
Detta ska jag titta mer på.

/Martin


Svara

Nyligen

  • 14:24 CBD regelbundet?
  • 14:23 CBD regelbundet?
  • 14:22 Har du märkt några verkliga fördel
  • 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

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 614
27 953
271 709
540
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