Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2003
    Messaggi
    605

    Controllo inserimento SQL SERVER

    ciao a tutti ragazzi,
    non so comè ho provato un sacco di script per inserimento ma solo questo mi va bene....

    Codice PHP:
    Dim strConn
    strConn 
    ="Trusted_Connection=yes;Provider=SQLOLEDB;Data Source=CASA\SQLEXPRESS;Initial Catalog=dataTest;User ID=sa;Password=sa;"
    Dim RSConnSQL
    Set Conn 
    Server.CreateObject ("ADODB.Connection")

    Set RS Server.CreateObject("ADODB.Recordset"
    SQL "INSERT INTO TBLibri (Titolo) values('HHHHHHHHH')" 
    RS.Open SQL 
    ora volevo saper gentilmente da voi se è giusto.. vabbè mi funge...
    volevo dire.. se magari ci sono modi più performanti...
    e poi quali controlli devo fare per vedere se l'inserimento è andato a buon fine.....







    ahh un'altro consiglio....
    ci sono modi più peformanti per fare anche una select con ciclo come questa:

    Codice PHP:
    <%
    Dim strConn
    strConn 
    ="Trusted_Connection=yes;Provider=SQLOLEDB;Data Source=CASA\SQLEXPRESS;Initial Catalog=dataTest;User ID=sa;Password=sa;"
    Dim RSConnSQL
    Set Conn 
    Server.CreateObject ("ADODB.Connection")

    Set RS Server.CreateObject ("ADODB.Recordset")
    SQL "SELECT * FROM TBLibri"

    Conn.open strConn 
    RS
    .open SQL,conn,3

    while not RS.EOF
    %>

    Dato 1: <% Response.write RS("titolo") %>

    <%

    rs.movenext
    wend
    RS
    .Close
    Conn
    .Close
    Set RS 
    Nothing
    Set Conn 
    Nothing
    %> 

    grazie ragazzii
    buona notte
    Giuseppe

  2. #2

    Re: Controllo inserimento SQL SERVER

    Originariamente inviato da centro
    ciao a tutti ragazzi,
    non so comè ho provato un sacco di script per inserimento ma solo questo mi va bene....

    Codice PHP:
    Dim strConn
    strConn 
    ="Trusted_Connection=yes;Provider=SQLOLEDB;Data Source=CASA\SQLEXPRESS;Initial Catalog=dataTest;User ID=sa;Password=sa;"
    Dim RSConnSQL
    Set Conn 
    Server.CreateObject ("ADODB.Connection")

    Set RS Server.CreateObject("ADODB.Recordset"
    SQL "INSERT INTO TBLibri (Titolo) values('HHHHHHHHH')" 
    RS.Open SQL 
    ora volevo saper gentilmente da voi se è giusto.. vabbè mi funge...
    volevo dire.. se magari ci sono modi più performanti...
    e poi quali controlli devo fare per vedere se l'inserimento è andato a buon fine.....
    Beh, se il codice che usi per l'inserimento è tutto qui dubito fortemente che ti venga scritto qualcosa nel db, la connessione non viene neanche mai aperta. Inoltre del recordset non hai bisogno.
    io la cambierei così:
    codice:
    Dim strConn, Conn, sql
    strConn ="Trusted_Connection=yes;Provider=SQLOLEDB;Data Source=CASA\SQLEXPRESS;Initial Catalog=dataTest;User ID=sa;Password=sa;"
    
    Set Conn = Server.CreateObject ("ADODB.Connection")
    Conn.Open strConn
    
    SQL = "INSERT INTO TBLibri (Titolo) values('HHHHHHHHH')" 
    Conn.Execute (SQL)
    
    Conn.Close: Set Conn = nothing


    Originariamente inviato da centro

    ahh un'altro consiglio....
    ci sono modi più peformanti per fare anche una select con ciclo come questa:

    Codice PHP:
    <%
    Dim strConn
    strConn 
    ="Trusted_Connection=yes;Provider=SQLOLEDB;Data Source=CASA\SQLEXPRESS;Initial Catalog=dataTest;User ID=sa;Password=sa;"
    Dim RSConnSQL
    Set Conn 
    Server.CreateObject ("ADODB.Connection")

    Set RS Server.CreateObject ("ADODB.Recordset")
    SQL "SELECT * FROM TBLibri"

    Conn.open strConn 
    RS
    .open SQL,conn,3

    while not RS.EOF
    %>

    Dato 1: <% Response.write RS("titolo") %>

    <%

    rs.movenext
    wend
    RS
    .Close
    Conn
    .Close
    Set RS 
    Nothing
    Set Conn 
    Nothing
    %> 

    grazie ragazzii
    buona notte
    Giuseppe
    Per questo invece non c'è molto da dire, forse le uniche cose sono che è preferibile un ciclo
    Do While...Loop anziché il While..Wend, è un pochino più veloce.

    poi cambierei questa forma:
    codice:
    %>
    
    Dato 1: <% Response.write RS("titolo") %>
    
    <%
    in

    codice:
    Response.Write ("
    Dato 1: " & RS("titolo") )
    è più leggibile e meno spaghetti-style, ma qui subentra il mero gusto personale.

    xxx

  3. #3
    piccolo errore. non era il topic giusto!
    This machine has no brain. Please, use your own!

  4. #4
    Utente di HTML.it
    Registrato dal
    Jun 2003
    Messaggi
    605
    grazie mille del consiglio...Alethesnake

    anche se ti devo dire non so come a sto punto.... che questo script di inserimento mi funge

    Dim strConn
    strConn ="Trusted_Connection=yes;Provider=SQLOLEDB;Data Source=CASASQLEXPRESS;Initial Catalog=dataTest;User ID=sa;Password=sa;"
    Dim RS, Conn, SQL
    Set Conn = Server.CreateObject ("ADODB.Connection")

    Set RS = Server.CreateObject("ADODB.Recordset")
    SQL = "INSERT INTO TBLibri (Titolo) values('HHHHHHHHH')"
    RS.Open SQL


    non mi dire come non ti saprei dire.. puo essee che abia aperto la connesisone con qualche altro esmpio e poi è rimasta aperta....
    ma ti giuro che funge....
    uno dei misteri dell'informatica... no credo vero...

    Ti saluto e ti ringrazio ancora
    Giuseppe

  5. #5
    Originariamente inviato da centro
    grazie mille del consiglio...Alethesnake

    anche se ti devo dire non so come a sto punto.... che questo script di inserimento mi funge

    Dim strConn
    strConn ="Trusted_Connection=yes;Provider=SQLOLEDB;Data Source=CASASQLEXPRESS;Initial Catalog=dataTest;User ID=sa;Password=sa;"
    Dim RS, Conn, SQL
    Set Conn = Server.CreateObject ("ADODB.Connection")

    Set RS = Server.CreateObject("ADODB.Recordset")
    SQL = "INSERT INTO TBLibri (Titolo) values('HHHHHHHHH')"
    RS.Open SQL


    non mi dire come non ti saprei dire.. puo essee che abia aperto la connesisone con qualche altro esmpio e poi è rimasta aperta....
    ma ti giuro che funge....
    uno dei misteri dell'informatica... no credo vero...

    Ti saluto e ti ringrazio ancora
    Giuseppe
    di nulla figurati

    riguardo a quello stralcio di codice io lo guardo e lo riguardo, ma sono sempre più convinto che sia impossibile che funzioni così da solo (non solo la connessione non viene aperta, ma anche la sql non viene eseguita). ci sarà per forza altro nella pagina che ti esegue (anche per sbaglio) quella query
    xxx

  6. #6
    Utente di HTML.it
    Registrato dal
    Jun 2003
    Messaggi
    605
    come al solito sono na pippa...
    hai perfettamente ragione.. ma ti giuro che ieri me lo faceva.. lo riporvato oggi a secco.. e non lo fa.. forse avevo aperto per sbaglio la connessione su qualche altra opagina come tu dicevi!!!



    Ti rompo ancora un'attimo...

    sto utilizzando questo tuo pezzetto che mi hai postato senza recordset

    Dim strConn, Conn, sql
    strConn ="Trusted_Connection=yes;Provider=SQLOLEDB;Data Source=CASA\SQLEXPRESS;Initial Catalog=dataTest;User ID=sa;Password=sa;"

    Set Conn = Server.CreateObject ("ADODB.Connection")
    Conn.Open strConn

    SQL = "INSERT INTO TBLibri (Titolo) values('HHHHHHHHH')"
    Conn.Execute (SQL)

    Conn.Close: Set Conn = nothing


    in questo caso però il controllo se è avvenuto o meno l'inserimento su cosa lo faccio visto che non ho appunto il recordset? posso usare solo "On error resume next"?
    MI serve perche vorrei fare delle insert a catena... e anzi magari se sai... mi accenni anche all'oggetto se esite simile al transaction e roolback come in php
    grazie ancora Giuseppe

  7. #7
    beh, se l'insert non ti da errore direi che è andata a buon fine.
    dalla versione 2005 so che le update ti restituiscono un valore che indica se l'aggiornamento è stato fatto o meno, può darsi che sia così anche per le insert (anche se in questo caso ha meno senso visto che se non va ti dovrebbe restituire errore).
    per le transazioni puoi crearti una stored procedure in sql server per fare gli inserimenti che ti interessano, altrimenti un oggetto adodb.connection ha metodi begintransaction e committransaction (mi pare), quindi puoi sfruttare quelli (meglio in sql server direttamente cmq secondo me). Prova a fare una ricerca su google, vedrai che troverai un sacco di risultati

    xxx

  8. #8
    Utente di HTML.it
    Registrato dal
    Jun 2003
    Messaggi
    605
    grazie della tua gentilezza
    saluti
    giuseppe

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.