Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13

Discussione: problemi con update

  1. #1

    probemei con update

    mi sonos caricatro il pannello per collegarmi con access sul pannello di aruba per fare le modiche sul db on linea, ma quando vado a modificare un dato mi da questo errore
    Microsoft OLE DB Provider for ODBC Drivers error '80040e07'

    [Microsoft][ODBC Microsoft Access Driver] Data type mismatch in criteria expression.

    /pannello.asp, line 262
    ho controllato il tutti i campi del db sono testo oltre il contatore

    codice:
    <%
    '************************************
    'Linkbruttocane per vademecum
    'il database va messo in mdb-database
    '************************************
    strFile = "pannello.asp"							'il nome di questo file
    strTable = "T_news"											'nome tabella
    strKey = "id"													'chiave primaria, contatore
    bgHeaderColor = "Orange"					
    fontHeaderColor = "black"			
    bgColor1 = "Silver"						
    fontColor1 = "Black"					
    bgColor2 = "White"						
    fontColor2 = "Black"					
    
    
    
    Set MyConn=Server.CreateObject("ADODB.Connection")
    MyConn.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & server.MapPath("/mdb-database/db_pietrapinta.mdb")
    
    
    
    '**************************************
    'azioni da eseguire
    '**************************************
    Select Case Request("mode")
    	Case "AddItem"
    		AddItem
    	Case "AddItemAction"
    		AddItemAction
    	Case "EditItem"
    		EditItem
    	Case "EditItemAction"
    		EditItemAction
    	Case "DelItem"
    		delItem
    	Case Else
    		ShowAll
    End Select
    
    
    
    
    '**************************************
    'mostrare tutti i record
    'FORTEMENTE SCONSIGLIATO PER I DATABASE DI GRANDE DIMENSIONE
    '**************************************
    Sub ShowAll()
    
    	MySQL="Select * from " & strTable
    	Set MyRs=MyConn.Execute(MySQL)
    	
    	Response.write ("<h2> Tabella " & strTable & " : il contenuto</h2>")
    	Response.write ("
    
    <font size=""2"">AGGIUNGI NUOVO</font></p>")
    	Response.write ("<table border=""1"" cellpadding=""4"" cellspacing=""1"">")
    	Response.write ("<tr>")
    	
    	numerocampi=MyRs.fields.count -1
    			
    	Response.write ("<td bgcolor=""" & bgHeaderColor & """ align=""Center"" nowrap><font color=""" & fontHeaderColor & """ size=""2"">X</font></td>")
    	Response.write ("<td bgcolor=""" & bgHeaderColor & """ align=""Center"" nowrap><font color=""" & fontHeaderColor & """ size=""2"">E</font></td>")
    	
    	for i=0 to numerocampi 
    		if Not MyRs(i).name = "ID" then
    			Response.write ("<td bgcolor=""" & bgHeaderColor & """ align=""Center"" nowrap><font color=""" & fontHeaderColor & """ size=""2"">" & MyRs(i).name & "</font></td>")
    		end if
    	next 
    	
    	Response.write ("</tr>")
    	
    	do while not MyRs.eof 
    	
    	if bgColor = bgColor2 then
    		bgColor = bgColor1
    		fontColor = fontColor1
    	else
    		bgColor = bgColor2 
    		fontColor = fontColor2
    	end if
    	
    	Response.write ("<tr>")
    	Response.write ("<td align=""Center"" valign=""Top"" bgcolor=""" & bgColor & """>")
    	Response.write ("<font color=""" & fontColor & """>Elimina</font></td>")
    	Response.write ("<td align=""Center"" valign=""Top"" bgcolor=""" & bgColor & """>")
    	Response.write ("<font color=""" & fontColor & """>Modifica</font></td>")
    	
    	for i = 0 to numerocampi
    		if Not MyRs(i).name = "ID" then
    			if MyRs(i).name = "PRICE" then
    				ThisRecord = FormatCurrency(MyRs(i))
    				strAlign = "right"
    			else
    				ThisRecord = MyRs(i)
    				strAlign = ""
    			end if
    			If IsNull(ThisRecord) or ThisRecord = "" Then
    				ThisRecord = ""
    			end if 
    			ThisRecord  = Replace(ThisRecord,vbCrLf,"
    ")
    			Response.write ("<td align=""" & strAlign & """ valign=top bgcolor=""" & bgColor & """><font color=""" & fontColor & """>" & Thisrecord & "</font></td>")
    		end if
    	next 
    	
    	Response.write ("</tr>")
    	
    	MyRs.movenext
    	loop
    	
    	Response.write ("</table>")
    	
    	MyRs.close
    	Set MyRs= Nothing
    	
    end sub
    
    
    
    '**************************************
    'aggiungi
    '**************************************
    Sub AddItem()
    
    	MySQL="Select * from " & strTable
    	Set MyRs=MyConn.Execute(MySQL)
    
    	Response.write ("<h2>Aggiungi nuovo Record a " & strTable & "</h2>")
    	
    	Response.write ("<form action=""" & strFile & "?mode=AddItemAction"" method=""post"" id=form1 name=form1>")
    	Response.write ("<table>")
    	
    	numerocampi=MyRs.fields.count -1
    	
    	for i=0 to numerocampi
    	
    	if Not MyRs(i).name = "ID" then
    		ThisRecord = MyRs(i)
    		ThisRecordName = MyRs(i).name
    		If IsNull(ThisRecord) or ThisRecord = "" Then
    			ThisRecord = ""
    		end if 
    	Response.write ("<tr>")
    	Response.write ("<td align=""right"">" & ThisRecordName & ": </td>")
    	Response.write ("<td> <input name=""" & ThisRecordName & """ type=""text""></td>")
    	Response.write ("</tr>")
    	end if
    	next
    	
    	Response.write ("<tr>")
    	Response.write ("<td align=""right""><input name=""Submit"" type=submit value=""Submit""></td>")
    	Response.write ("<td><input name=""reset"" type=reset value=""Reset""></td>")
    	Response.write ("</tr>")
    	Response.write ("</table>")
    	Response.write ("</form>")
    	Response.write ("Back to list")
    	
    End Sub
    
    
    
    
    Sub AddItemAction()
    
    	MySQL="Select * from " & strTable
    	Set MyRs=MyConn.Execute(MySQL)
    
    	numerocampi=MyRs.fields.count -1
    
    	for i=0 to numerocampi
    		if Not MyRs(i).name = "ID" then
    			str = MyRs(i).name 
    			if not i = numerocampi then
    				str1 = str1 & "[" & str & "], "
    			else
    				str1 = str1 & "[" & str & "]"
    			end if
    						
    			strNames = Request(str)
    			if not i = numerocampi then
    				sqlNames1 = sqlNames1 & "'" & strNames & "', "
    			else
    				sqlNames1 = sqlNames1 & "'" &  strNames & "'"
    			end if
    		end if
    	next
    
    	MySQL1="Insert INTO " & strTable & " (" & str1 & ") VALUES (" & sqlNames1 & ")"
    	Set MyRs1=MyConn.Execute(MySQL1)
    	
    	MyConn.Close
    	set MyConn=nothing 
    	
    	Response.Redirect strFile
    
    End Sub
    
    
    
    
    '**************************************
    'modificare
    '**************************************
    Sub EditItem()
    
    	Response.write ("<h2>Modifica record nella tabella " & strTable & "</h2>")
    	
    	which=request("which")
    	
    	if isNumeric(which) then
    		MySQL="SELECT * FROM " & strTable & " Where " & strKey & " = " & which
    	else
    		MySQL="SELECT * FROM " & strTable & " Where " & strKey & " = '" & which & "'"
    	end if
    	Set MyRs=MyConn.Execute(MySQL)
    
    	Response.write ("<FORM ACTION=""" & strFile & "?mode=EditItemAction"" METHOD=POST>")
    	Response.write ("<input name=""ID"" type=""hidden"" value=""" & MyRs(strKey) & """>")
    	Response.write ("<table>")
    
    	numerocampi=MyRs.fields.count -1
    	
    	for i=0 to numerocampi
    	
    	if Not MyRs(i).name = "id" then
    		ThisRecord = MyRs(i)
    		ThisRecordName = MyRs(i).name
    		If IsNull(ThisRecord) or ThisRecord = "" Then
    			ThisRecord = ""
    		end if 
    	Response.write ("<tr>")
    	Response.write ("<td align=""right"">" & ThisRecordName & ": </td>")
    	Response.write ("<td> <input name=""" & ThisRecordName & """ type=""text"" value=""" & MyRs(i) & """></td>")
    	Response.write ("</tr>")
    	end if
    	next
    
    	Response.write ("<tr>")
    	Response.write ("<td align=""right""><INPUT NAME=""Submit"" TYPE=Submit Value=""Update""></td>")
    	Response.write ("<td><INPUT NAME=""Reset"" TYPE=Reset Value=""Reset""></td>")
    	Response.write ("</tr>")
    	Response.write ("</table>")
    	Response.write ("</FORM>")
    
    	Response.write ("Torna alla lista dei record")
    		
    	MyRs.close
    	Set MyRs= Nothing
    
    End Sub
    
    
    Sub EditItemAction()
    
    	which = Request(strKey)
    	
    	if isNumeric(which) then
    		MySQL="SELECT * FROM " & strTable & " Where " & strKey & " = " & which
    	else
    		MySQL="SELECT * FROM " & strTable & " Where " & strKey & " = '" & which & "'"
    	end if
    
    	'MySQL="Select * from " & strTable
    	Set MyRs=MyConn.Execute(MySQL)
    
    	numerocampi=MyRs.fields.count -1
    
    	for i=0 to numerocampi
    		if Not MyRs(i).name = "ID" then	
    			str = MyRs(i).name 
    			strNames = Request(str)
    			if not i = numerocampi then
    				str1 = str1 & "[" & str & "] = '" & strNames & "', "
    			else
    				str1 = str1 & "[" & str & "] = '" & strNames & "'"
    			end if
    		end if
    	next
    
    	if isNumeric(which) then
    		MySQL1="UPDATE " & strTable & " SET " & str1 & " Where " & strKey & " = " & which
    	else
    		MySQL1="UPDATE " & strTable & " SET " & str1 & " Where " & strKey & " = '" & which & "'"
    	end if
    
    	'MySQL1="UPDATE " & strTable & " SET " & str1 & " Where ID=" & which
    
    	Set MyRs1=MyConn.Execute(MySQL1)
    	
    	MyConn.Close
    	set MyConn=nothing
    	
    	Response.Redirect strFile
    
    End Sub
    
    
    
    
    '**************************************
    'elimina record
    '**************************************
    Sub DelItem()
    
    	which=request("which")
    	if isNumeric(which) then
    		MySQL="delete * from " & strTable & " Where " & strKey & " = " & which
    	else
    		MySQL="delete * from " & strTable & " Where " & strKey & " = '" & which & "'"
    	end if
    	
    	Set MyRs=MyConn.Execute(MySQL)
    	
    	MyConn.Close
    	set MyConn=nothing
    	
    	Response.Redirect strFile
    
    End Sub
    
    %>

  2. #2
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    Perché hai postato tutto se interessa solo una piccolissima parte?
    Quale sarebbe la linea incriminata?
    Fatti stampare la query che cerca di eseguire.

    Roby

  3. #3
    mi da errore nella sezione modifica, come faccio a stampare al query
    codice:
    
    '**************************************
    'modificare
    '**************************************
    Sub EditItem()
    
    	Response.write ("<h2>Modifica record nella tabella " & strTable & "</h2>")
    	
    	which=request("which")
    	
    	if isNumeric(which) then
    		MySQL="SELECT * FROM " & strTable & " Where " & strKey & " = " & which
    	else
    		MySQL="SELECT * FROM " & strTable & " Where " & strKey & " = '" & which & "'"
    	end if
    	Set MyRs=MyConn.Execute(MySQL)
    
    	Response.write ("<FORM ACTION=""" & strFile & "?mode=EditItemAction"" METHOD=POST>")
    	Response.write ("<input name=""ID"" type=""hidden"" value=""" & MyRs(strKey) & """>")
    	Response.write ("<table>")
    
    	numerocampi=MyRs.fields.count -1
    	
    	for i=0 to numerocampi
    	
    	if Not MyRs(i).name = "id" then
    		ThisRecord = MyRs(i)
    		ThisRecordName = MyRs(i).name
    		If IsNull(ThisRecord) or ThisRecord = "" Then
    			ThisRecord = " "
    		end if 
    	Response.write ("<tr>")
    	Response.write ("<td align=""right"">" & ThisRecordName & ": </td>")
    	Response.write ("<td> <input name=""" & ThisRecordName & """ type=""text"" value=""" & MyRs(i) & """></td>")
    	Response.write ("</tr>")
    	end if
    	next
    
    	Response.write ("<tr>")
    	Response.write ("<td align=""right""><INPUT NAME=""Submit"" TYPE=Submit Value=""Update""></td>")
    	Response.write ("<td><INPUT NAME=""Reset"" TYPE=Reset Value=""Reset""></td>")
    	Response.write ("</tr>")
    	Response.write ("</table>")
    	Response.write ("</FORM>")
    
    	Response.write ("Torna alla lista dei record")
    		
    	MyRs.close
    	Set MyRs= Nothing
    
    End Sub
    
    
    Sub EditItemAction()
    
    	which = Request(strKey)
    	
    	if isNumeric(which) then
    		MySQL="SELECT * FROM " & strTable & " Where " & strKey & " = " & which
    	else
    		MySQL="SELECT * FROM " & strTable & " Where " & strKey & " = '" & which & "'"
    	end if
    
    	'MySQL="Select * from " & strTable
    	Set MyRs=MyConn.Execute(MySQL)
    
    	numerocampi=MyRs.fields.count -1
    
    	for i=0 to numerocampi
    		if Not MyRs(i).name = "ID" then	
    			str = MyRs(i).name 
    			strNames = Request(str)
    			if not i = numerocampi then
    				str1 = str1 & "[" & str & "] = '" & strNames & "', "
    			else
    				str1 = str1 & "[" & str & "] = '" & strNames & "'"
    			end if
    		end if
    	next
    
    	if isNumeric(which) then
    		MySQL1="UPDATE " & strTable & " SET " & str1 & " Where " & strKey & " = " & which
    	else
    		MySQL1="UPDATE " & strTable & " SET " & str1 & " Where " & strKey & " = '" & which & "'"
    	end if
    
    	'MySQL1="UPDATE " & strTable & " SET " & str1 & " Where ID=" & which
    
    	Set MyRs1=MyConn.Execute(MySQL1)
    	
    	MyConn.Close
    	set MyConn=nothing
    	
    	Response.Redirect strFile
    
    End Sub

  4. #4
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    /pannello.asp, line 262

    Indicami nello script quella riga e 4/5 righe precedenti...

    Roby

  5. #5
    Sub EditItemAction()

    which = Request(strKey)

    if isNumeric(which) then
    MySQL="SELECT * FROM " & strTable & " Where " & strKey & " = " & which
    else
    MySQL="SELECT * FROM " & strTable & " Where " & strKey & " = '" & which & "'"
    end if

    'MySQL="Select * from " & strTable
    Set MyRs=MyConn.Execute(MySQL) queta è la 262

  6. #6
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    Response.Write(MySQL)
    Response.end
    Set MyRs=MyConn.Execute(MySQL)


    Roby

  7. #7
    devo aggiunto le rghie che mi hai detto e adesso quando faccio modifica mi esci qeusto :
    SELECT * FROM T_news Where id = 1

  8. #8
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    Questa sembra corretta... ma evidentemente c'è dell'altro.

    Roby

  9. #9
    uffa e come devo fare, se mi dici come posso fare ti mando il db cosi lo provi un attimo, se puoi

  10. #10
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    Quella è una SELECT non un UPDATE...

    Roby

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.