Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it L'avatar di diablobox
    Registrato dal
    Feb 2001
    residenza
    Pisa
    Messaggi
    1,154

    Forzare l inserimento di un record in MS SQL

    Ciao
    ho db MS SQL

    vorrei sapere se di puo fare la seguente operazione
    dalla mia pagina web vorrei forzare l'inseirmento di una nuova riga nel database con l ID che voglio io

    La tabella ha i seguenti campi:
    ID, nome

    ora ho cancellato per errore una riga della tabella (diciamo quella con ID=1)
    io vorrei reinserirla.
    Ma ovviamnete non mi permette di effettuare tale operazione perche l ho impostata come crescente
    per adesso ho nella tabella

    la riga 1 con ID=2
    la riga 2 con ID=3

    per me l'ID è fondamentale che sia come voglio io per cui anche 1

    QUALCHE IDEA??
    Ciao
    Grazie

  2. #2

  3. #3
    prova questo:

    codice:
    create table dbo.testKey
    (
    id int not null identity(1, 1) primary key,
    numero int not null
    )
    
    insert into dbo.testkey values (1)
    insert into dbo.testkey values (4)
    insert into dbo.testkey values (6)
    
    select * from dbo.testkey
    
    delete from dbo.testkey where id=2
    
    SET IDENTITY_INSERT dbo.testkey ON -- !!!
    
    insert into dbo.testkey (id, numero) values (2, 5)
    
    select * from dbo.testkey
    xxx

  4. #4
    Utente di HTML.it L'avatar di diablobox
    Registrato dal
    Feb 2001
    residenza
    Pisa
    Messaggi
    1,154
    Ciao

    scusa l ingnoranza

    ho fatto questa pagina:
    <%
    Dim rsaggiungitipologia
    Dim rsaggiungitipologia_numRows

    Set rsaggiungitipologia = Server.CreateObject("ADODB.Recordset")
    rsaggiungitipologia.ActiveConnection = MM_connCMSB_STRING

    sqlString = "CREATE TABLE dbo.tipo_struttura (IDtipo_struttura int not null identity(1, 1) primary key, numero int not null )"
    sqlString = sqlString & " insert into dbo.tipo_struttura values (1)"
    sqlString = sqlString & "insert into dbo.tipo_struttura values (2)"
    sqlString = sqlString & "insert into dbo.tipo_struttura values (3)"
    sqlString = sqlString & "select * from dbo.tipo_struttura"
    sqlString = sqlString & "delete from dbo.tipo_struttura where IDtipo_struttura=2"
    MM_connCMSB_STRING.Execute sqlString
    MM_connCMSB_STRING.Close

    %>

    ma mi da questo errore:
    Microsoft OLE DB Provider for SQL Server error '80040e14'

    Incorrect syntax near the keyword 'from'.

    iinseriscivaloritipostruttura2.asp, line 16

  5. #5
    diablo, ale ti ha listato tante istruzioni singole, mentre tu tenti di eseguirne una soltanto...

  6. #6
    Utente di HTML.it L'avatar di diablobox
    Registrato dal
    Feb 2001
    residenza
    Pisa
    Messaggi
    1,154

    Forzare l inserimento di un record in MS SQL

    Ho trovato questa soluzione che funziona:

    sqlString = "SET IDENTITY INSERT dbo.tipo_struttura ON "
    sqlString = sqlString & "Insert into dbo.tipo_struttura (IDtipo_struttura) values (1)"

    sqlString = sqlString & "SET IDENTITY INSERT schema.tabella OFF "

    MM_connCMSB_STRING.Execute sqlString

    grazie dell'aiuto comunque

    ciao

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 © 2026 vBulletin Solutions, Inc. All rights reserved.