Visualizzazione dei risultati da 1 a 8 su 8

Discussione: copia di un record

  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    45

    copia di un record

    salve a tutti
    qualcuno sa dirmi se esiste un modo per copiare il contenuto di tutto un record di una tabella senza dover prendere campo per campo e creare una sql di insert (i campi di questa tabella sono tantissimi....)

    non sò magari usando in qualche modo dei metodi del dataset...

    grazie a tutti

  2. #2
    spiega meglio, devi copiare un record da una tabella ad un'altra che ha gli stessi campi? in questo caso vai con sql

    insert into tabella select * from altraTabella where.........
    "...non è detto che sia tardi se non guardi che ora è..."

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    45
    no devo copiarli nella stessa tabella
    insomma devo duplicare un record nella stessa tabella

  4. #4
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    45
    nessuno ha un'idea?

  5. #5
    dopo aver messo

    <%@ Assembly Name="adodb" %>
    <%@ Import Namespace="ADODB" %>

    supponendo che il campo contatore si chiami id

    codice:
    sub duplica( s as Object, e as EventArgs )
            Dim str As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("pathDb.mdb")
    	Dim db As New ADODB.Connection()
            Dim rs As New ADODB.Recordset()
    	Dim rs2 As New ADODB.Recordset()
    
    	Dim sql as String
    	'esempio con il record con id = 1
    	sql = "select * from tabella where id = 1"
    	db.Open( str )
    	rs.open( sql,db,3,3 )
    	rs2 = rs.clone()
    	Dim f as field
    	rs.addNew()
    	for each f in rs2.fields
    	        if f.Name <> "id" then
    			rs(f.Name).Value = f.Value
    		end if
    	next
    	rs.update()
    	rs2.Close() : rs2 = Nothing
    	rs.Close() : rs = Nothing
            db.Close() : db = Nothing
    end sub
    così funziona, se c'è un metodo migliore ben venga
    "...non è detto che sia tardi se non guardi che ora è..."

  6. #6
    <%@ Assembly Name="adodb" %>
    <%@ Import Namespace="ADODB" %>
    Dim rs As New ADODB.Recordset()
    Dim rs2 As New ADODB.Recordset()
    Se posso dire la mia, l'utilizzo del recordset dell'oggetto COM ADODB ti compromette solo le prestazioni. L'utilizzo degli oggetti del framework per l'accesso dei database ti evita problemi futuri (ne so qualcosa visto che in passato avevo utilizzato l'accesso ad ADODB )

    Ciao
    AZ [Microsoft - .NET MVP]
    Mia Home page: http://ciclismo.sitiasp.it
    Asp.Net community: http://www.aspitalia.com
    Il mio blog: http://blogs.aspitalia.com/az

  7. #7
    in alternativa si potrebbe creare un datatable, duplicare la riga e fare l'update
    "...non è detto che sia tardi se non guardi che ora è..."

  8. #8
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    45
    proverò con l'ultimo suggerimento
    grazie

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.