Visualizzazione dei risultati da 1 a 10 su 10
  1. #1

    Creare un inserimento immettendo un range di valori

    Salve amici,

    vorrei creare un modulo per inserire tot record che vanno dal numero x al numero y.
    Mi spiego meglio:

    ho un DB MySQL con questi campi:

    NUMERO
    NOME_VINO

    Per comodità nel campo NUMERO spesso è stato inserito un numero che va da x ad y (sono cassette, quindi contengono 6 vini)

    NUMERO: 512-517
    NOME_VINO: Sassicaia

    Ora io vorrei creare un modulo che inserendo i due estremi, 512 e 517 ad es. mi crei tutti record separati con numero da 512 a 517 con NOME_VINO = Sassicaia....

    Come posso fare?
    Digital XP - The new expression of digital art! - http://www.mimanchitu.it

  2. #2
    un ciclo for...next sarà più che adeguato

  3. #3

    scusa l'ignoranza!

    Scusa l'ignoranza.... ma come scrivo la query SQL?
    Digital XP - The new expression of digital art! - http://www.mimanchitu.it

  4. #4
    posta come la scriveresti per UN inserimento, poi sistemiamo la parte variabile

  5. #5

    problema

    Beh il problema è che uso dreamweaver!!!! VVoVe:

    <%
    ' *** Edit Operations: declare variables

    Dim MM_editAction
    Dim MM_abortEdit
    Dim MM_editQuery
    Dim MM_editCmd

    Dim MM_editConnection
    Dim MM_editTable
    Dim MM_editRedirectUrl
    Dim MM_editColumn
    Dim MM_recordId

    Dim MM_fieldsStr
    Dim MM_columnsStr
    Dim MM_fields
    Dim MM_columns
    Dim MM_typeArray
    Dim MM_formVal
    Dim MM_delim
    Dim MM_altVal
    Dim MM_emptyVal
    Dim MM_i

    MM_editAction = CStr(Request.ServerVariables("SCRIPT_NAME"))
    If (Request.QueryString <> "") Then
    MM_editAction = MM_editAction & "?" & Server.HTMLEncode(Request.QueryString)
    End If

    ' boolean to abort record edit
    MM_abortEdit = false

    ' query string to execute
    MM_editQuery = ""
    %>
    <%
    ' *** Insert Record: set variables

    If (CStr(Request("MM_insert")) = "form1") Then

    MM_editConnection = MM_connCantina_STRING
    MM_editTable = "vini"
    MM_editRedirectUrl = "/cantina/default.asp"
    MM_fieldsStr = "NOME_VINO|value|CANTINA|value|ANNATA|value|UVAGGI O|value|REGIONE|value|PROVENIENZA|value|COSTO|valu e|DATA|value|APPUNTI|value"
    MM_columnsStr = "NOME_VINO|',none,''|CANTINA|',none,''|ANNATA|',no ne,''|UVAGGIO|',none,''|REGIONE|',none,''|PROVENIE NZA|',none,''|COSTO|',none,''|DATA|',none,''|APPUN TI|',none,''"

    ' create the MM_fields and MM_columns arrays
    MM_fields = Split(MM_fieldsStr, "|")
    MM_columns = Split(MM_columnsStr, "|")

    ' set the form values
    For MM_i = LBound(MM_fields) To UBound(MM_fields) Step 2
    MM_fields(MM_i+1) = CStr(Request.Form(MM_fields(MM_i)))
    Next

    ' append the query string to the redirect URL
    If (MM_editRedirectUrl <> "" And Request.QueryString <> "") Then
    If (InStr(1, MM_editRedirectUrl, "?", vbTextCompare) = 0 And Request.QueryString <> "") Then
    MM_editRedirectUrl = MM_editRedirectUrl & "?" & Request.QueryString
    Else
    MM_editRedirectUrl = MM_editRedirectUrl & "&" & Request.QueryString
    End If
    End If

    End If
    %>
    <%
    ' *** Insert Record: construct a sql insert statement and execute it

    Dim MM_tableValues
    Dim MM_dbValues

    If (CStr(Request("MM_insert")) <> "") Then

    ' create the sql insert statement
    MM_tableValues = ""
    MM_dbValues = ""
    For MM_i = LBound(MM_fields) To UBound(MM_fields) Step 2
    MM_formVal = MM_fields(MM_i+1)
    MM_typeArray = Split(MM_columns(MM_i+1),",")
    MM_delim = MM_typeArray(0)
    If (MM_delim = "none") Then MM_delim = ""
    MM_altVal = MM_typeArray(1)
    If (MM_altVal = "none") Then MM_altVal = ""
    MM_emptyVal = MM_typeArray(2)
    If (MM_emptyVal = "none") Then MM_emptyVal = ""
    If (MM_formVal = "") Then
    MM_formVal = MM_emptyVal
    Else
    If (MM_altVal <> "") Then
    MM_formVal = MM_altVal
    ElseIf (MM_delim = "'") Then ' escape quotes
    MM_formVal = "'" & Replace(MM_formVal,"'","''") & "'"
    Else
    MM_formVal = MM_delim + MM_formVal + MM_delim
    End If
    End If
    If (MM_i <> LBound(MM_fields)) Then
    MM_tableValues = MM_tableValues & ","
    MM_dbValues = MM_dbValues & ","
    End If
    MM_tableValues = MM_tableValues & MM_columns(MM_i)
    MM_dbValues = MM_dbValues & MM_formVal
    Next
    MM_editQuery = "insert into " & MM_editTable & " (" & MM_tableValues & ") values (" & MM_dbValues & ")"

    If (Not MM_abortEdit) Then
    ' execute the insert
    Set MM_editCmd = Server.CreateObject("ADODB.Command")
    MM_editCmd.ActiveConnection = MM_editConnection
    MM_editCmd.CommandText = MM_editQuery
    MM_editCmd.Execute
    MM_editCmd.ActiveConnection.Close

    If (MM_editRedirectUrl <> "") Then
    Response.Redirect(MM_editRedirectUrl)
    End If
    End If

    End If
    %>
    Digital XP - The new expression of digital art! - http://www.mimanchitu.it

  6. #6

    aspetta

    allora aspetta potrei creare un modulo che mi prende i valori che voglio inserire in ciclo... poi posto tutto ad una pagina con questo codice:

    <%
    dim conn, strConn

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

    SQL = "INSERT INTO `cantina_vini` (`ID_VINO`, `NUMERO`, `NOME_VINO`, `CANTINA`, `ANNATA`, `UVAGGIO`, `REGIONE`, `PROVENIENZA`, `COSTO`, `DATA`, `APPUNTI`) VALUES"
    for
    SQL = SQL & "('', '"&Request.Form("PRIMO_NUMERO")&"', '"&Request.Form("NOME_VINO")&"', '"&Request.Form("CANTINA")&"', '"&Request.Form("ANNATA")&"', '', '"&Request.Form("REGIONE")&"', '"&Request.Form("PROVENIENZA")&"', '', '"&Request.Form("DATA")&"', '')"

    conn.Execute (SQL)
    conn.Close
    set conn = Nothing

    %>

    però dove metto for next?

    e poi il ciclo dovrebbe calcolare i record da inserire in base ai due numeri estremi che metto!
    Digital XP - The new expression of digital art! - http://www.mimanchitu.it

  7. #7
    1. passi alla pagina il range (da-a)
    2. splitti il range per "-"
    3. il primo elem è numeroda
    4. il secondo è numeroa
    5. for i=numeroda to numero a
    6. sql = "inserti nto tabella (numero, desfcrizione) values (" & i & ", 'abbello')
    7. conn.execute
    8. next

    a te la palla

  8. #8

    ci sono riuscito!

    Grazie mille questo è il codice:

    <%
    dim conn, strConn

    strConn = MM_connCantina_STRING
    Set conn = Server.CreateObject("ADODB.Connection")
    Conn.Open StrConn
    for i = Request.Form("NUMERO_DA") to Request.Form("NUMERO_A")
    SQL = "INSERT INTO `cantina_vini` (`ID_VINO`, `NUMERO`, `NOME_VINO`, `CANTINA`, `ANNATA`, `UVAGGIO`, `REGIONE`, `PROVENIENZA`, `COSTO`, `DATA`, `APPUNTI`) VALUES ('', '"& i &"', '"&Request.Form("NOME_VINO")&"', '"&Request.Form("CANTINA")&"', '"&Request.Form("ANNATA")&"', '"&Request.Form("UVAGGIO")&"', '"&Request.Form("REGIONE")&"', '"&Request.Form("PROVENIENZA")&"', '"&Request.Form("COSTO")&"', '"&Request.Form("DATA")&"', '')"
    conn.Execute (SQL)
    next

    conn.Close
    set conn = Nothing
    Response.Write "

    Inserimenti dei vini effettuati con successo!</p>"
    %>

    Sai qual è l'unico problema? Che se in un campo c'è l'apostrofo, mi si impalla.... come potrei risolvere?
    Digital XP - The new expression of digital art! - http://www.mimanchitu.it

  9. #9

    Re: ci sono riuscito!

    Originariamente inviato da iadream
    Sai qual è l'unico problema? Che se in un campo c'è l'apostrofo, mi si impalla.... come potrei risolvere?
    prima di inserire fai

    codice:
    campo = replace(campo, "'", "''")

  10. #10
    io dico che è giunto il momento di smettere di far scrivere codice a DW, non trovi?

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.