Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2003
    Messaggi
    376

    richiamare sub 1 volta solamente

    Salve il problema è questo: quando la pagina viene caricata voglio che lato server si esegua un controllo sulla presenza o meno di una tabella, se esiste allora niente, mentre se non esiste si deve creare la tabella. Il codice che ho scritto mi sembra che in teoria funzioni ma in pratica no, sapete dirmi dove sbaglio? Ho omesso le parti di codice non importanti
    Grazie
    codice:
    <%
    ' CODICE PER trovare TABELLA 
    sub TrovaTabella() 
    	Dim connect
    	dim SQL
    	Dim oRSet1
    	dim adSchemaTables
    	dim contatore
    	dim NumeroPIva
    		
    	NumeroPIva = request.QueryString("PI")
    	'creo l'oggetto Connection
    	Set connect = Server.CreateObject("ADODB.Connection")
    	'apro la connessione con la fonte di dati
    	 connect.open conn
    	 'RICAVO LA LISTA DELLE TABELLE CONTENUTE NEL DB
    	 adSchemaTables = 20
    	 Set oRSet1 = connect.OpenSchema(adSchemaTables)
    	 do while not oRSet1.eof
    	 	if oRSet1("TABLE_NAME") = ""&NumeroPIva&"" then
        			contatore = 1
    		else
    				contatore = 0
    		end if 		
        oRSet1.MoveNext
      	Loop
    if contatore = 0 then
    			dim SQL2
    			Dim ConnDown 
    			'dim NumeroPIva	
    		
    		'NumeroPIva = request.QueryString("PI")	 	 
    		Set ConnDown=Server.CreateObject("ADODB.Connection")
    		ConnDown.Open conn
    		
    		SQL2 = "CREATE TABLE "&NumeroPIva&" (Id COUNTER CONSTRAINT Id PRIMARY KEY, N_Pod TEXT(14), Tipo_Pod TEXT(4), Indirizzo TEXT(40), Comune TEXT(30), Cap TEXT(5), Provincia TEXT(15), StatoCliente TEXT(8), N_Remi TEXT(8), N_Pdr TEXT(14), Codice_Contatore TEXT(20), Indirizzo_gas TEXT(40), Comune_gas TEXT(30), Cap_gas TEXT(5), Provincia_gas TEXT(15), StatoCliente_gas TEXT(8))"  
    			ConnDown.Execute SQL2
    else
    exit sub
    end if
    end sub
    ' FINE CODICE PER cercare TABELLA
    %>
    <% call TrovaTabella()%>
    <%
    NumeroPIva = request.QueryString("PI")
    MM_editAction = CStr(Request.ServerVariables("SCRIPT_NAME"))
    If (Request.QueryString <> "") Then
      MM_editAction = MM_editAction & "?" & Request.QueryString
    End If
    MM_abortEdit = false
    MM_editQuery = ""
    %>
    <%
    ' *** INSERISCO IL RECORD
    If (CStr(Request("MM_insert")) = "form1") Then	
      MM_editConnection = conn
      MM_editTable = NumeroPIva
      MM_editRedirectUrl = "gest_fornitura.asp"
      MM_fieldsStr  =".............." 
    ' CAMPI NELLA PAGINA
      MM_columnsStr ="..............."
    %>
    <html>
    <form name="form1" method="post" action="<%=MM_editAction%>">
          <input name="invia" type="submit" class="bottonisalva" id="invia" value="">
          <input type="hidden" name="MM_insert" value="form1">    
          <input name="Ripristina" type="reset" class="bottoniannulla" id="reset" value="">
    </form>
    Chi Crede in Me non Perirà MAI

  2. #2
    Utente di HTML.it
    Registrato dal
    Sep 2003
    Messaggi
    376
    RISOLTo usando questo codice riadattato, cmq grazie.
    codice:
    <% 
    Sub TrovaTabella() 
    Flag = False
    	NumeroPIva = request.QueryString("PI")
    	'creo l'oggetto Connection
    	Set connect = Server.CreateObject("ADODB.Connection")
    	'apro la connessione con la fonte di dati
    	 connect.open conn
    	 'RICAVO LA LISTA DELLE TABELLE CONTENUTE NEL DB
    	 adSchemaTables = 20
    Set oRSet1 = connect.OpenSchema(adSchemaTables)
    oRSet1.MoveFirst
    Do While Not oRSet1.EOF
    For i = 0 To oRSet1.Fields.Count - 1
    If oRSet1.Fields(i).Name = "TABLE_NAME" Then
    If oRSet1.Fields(i).Value = NumeroPIva Then Flag = True: Exit Do
    End If
    Next
    If Flag = True Then Exit Do
    oRSet1.MoveNext
    Loop
    
    
    If Flag = False Then
    		Dim SQL2
    		Dim ConnDown
    		Dim NumeroPIva2
    		NumeroPIva2 = request.QueryString("PI")		  
    		Set ConnDown=Server.CreateObject("ADODB.Connection")
    		ConnDown.Open conn
    		SQL2 = "CREATE TABLE "&NumeroPIva2&" (Id COUNTER CONSTRAINT Id PRIMARY KEY, N_Pod TEXT(14), Tipo_Pod TEXT(4), Indirizzo TEXT(40), Comune TEXT(30), Cap TEXT(5), Provincia TEXT(15), StatoCliente TEXT(8), N_Remi TEXT(8), N_Pdr TEXT(14), Codice_Contatore TEXT(20), Indirizzo_gas TEXT(40), Comune_gas TEXT(30), Cap_gas TEXT(5), Provincia_gas TEXT(15), StatoCliente_gas TEXT(8))"  
    		ConnDown.Execute SQL2
    end if
    Set oRSet1 = Nothing
    end sub
    %>
    Chi Crede in Me non Perirà MAI

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.