Ciao a tutti
vorrei chiedervi se avete avuto problemi con l'aggiornamento dei dati in un DB access con ASP.NET
Io si, praticamente non riesco ad aggiornare i dati a meno che non cancello la riga esistente e ne riscrivo una nuova.
Premetto che utilizzo DBAccess,StoredProcedure,Classe con metodo AggiornaDati e utilizzo queste componenti in una pagina Aspx.
Ecco il codice:
Questa è la classe:
Public Sub AggiornaDati(ne_id as integer,ne_nome as string,ne_id_tipologia as integer,ne_icona as string,ne_coordx as integer,ne_coordy as integer,ne_indirizzo as string,ne_cap as integer,ne_citta as integer,ne_tel as string,ne_fax as string,ne_email as string,ne_desc as string,ne_foto1 as string,ne_foto2 as string,ne_online as integer,ne_new as integer,ne_scheda as integer,ne_banner as integer,ne_img_banner as string,ne_txt_banner as string,ne_logo as string,ne_img_logo as string,ne_sito as string)
Dim objCommand as New OleDbCommand ("ModificaNegozio",objConn)
objCommand.CommandType = CommandType.StoredProcedure
Dim objParam as OleDbParameter
objParam = new OleDbParameter("@NE_ID",OleDbType.integer)
objParam.Value = ne_id
objCommand.Parameters.Add(objParam)
objParam = new OleDbParameter("@NE_NOME",OleDbType.varchar)
objParam.Value = ne_nome
ObjCommand.Parameters.Add(objParam)
objParam = new OleDbParameter("@NE_ID_TIPOLOGIA",OleDbType.Intege r)
objParam.Value = ne_id_tipologia
ObjCommand.Parameters.Add(objParam)
objParam = new OleDbParameter("@NE_ICONA",OleDbType.varchar)
objParam.Value = ne_icona
ObjCommand.Parameters.Add(objParam)
objParam = new OleDbParameter("@NE_COORDX",OleDbType.varchar)
objParam.Value = ne_coordx
ObjCommand.Parameters.Add(objParam)
objParam = new OleDbParameter("@NE_COORDY",OleDbType.varchar)
objParam.Value = ne_coordy
ObjCommand.Parameters.Add(objParam)
objParam = new OleDbParameter("@NE_INDIRIZZO",OleDbType.varchar)
objParam.Value = ne_indirizzo
ObjCommand.Parameters.Add(objParam)
objParam = new OleDbParameter("@NE_CAP",OleDbType.varchar)
objParam.Value = ne_cap
ObjCommand.Parameters.Add(objParam)
objParam = new OleDbParameter("@NE_CITTA",OleDbType.varchar)
objParam.Value = ne_citta
ObjCommand.Parameters.Add(objParam)
objParam = new OleDbParameter("@NE_TEL",OleDbType.varchar)
objParam.Value = ne_tel
ObjCommand.Parameters.Add(objParam)
objParam = new OleDbParameter("@NE_FAX",OleDbType.varchar)
objParam.Value = ne_fax
ObjCommand.Parameters.Add(objParam)
objParam = new OleDbParameter("@NE_EMAIL",OleDbType.varchar)
objParam.Value = ne_email
ObjCommand.Parameters.Add(objParam)
objParam = new OleDbParameter("@NE_DESC",OleDbType.varchar)
objParam.Value = ne_desc
ObjCommand.Parameters.Add(objParam)
objParam = new OleDbParameter("@NE_FOTO1",OleDbType.varchar)
objParam.Value = ne_foto1
ObjCommand.Parameters.Add(objParam)
objParam = new OleDbParameter("@NE_FOTO2",OleDbType.varchar)
objParam.Value = ne_foto2
ObjCommand.Parameters.Add(objParam)
objParam = new OleDbParameter("@NE_ONLINE",OleDbType.integer)
objParam.Value = ne_online
ObjCommand.Parameters.Add(objParam)
objParam = new OleDbParameter("@NE_NEW",OleDbType.integer)
objParam.Value = ne_new
ObjCommand.Parameters.Add(objParam)
objParam = new OleDbParameter("@NE_SCHEDA",OleDbType.integer)
objParam.Value = ne_scheda
ObjCommand.Parameters.Add(objParam)
objParam = new OleDbParameter("@NE_BANNER",OleDbType.integer)
objParam.Value = ne_banner
ObjCommand.Parameters.Add(objParam)
objParam = new OleDbParameter("@NE_IMG_BANNER",OleDbType.varchar)
objParam.Value = ne_img_banner
ObjCommand.Parameters.Add(objParam)
objParam = new OleDbParameter("@NE_TXT_BANNER",OleDbType.varchar)
objParam.Value = ne_txt_banner
ObjCommand.Parameters.Add(objParam)
objParam = new OleDbParameter("@NE_LOGO",OleDbType.integer)
objParam.Value = ne_logo
ObjCommand.Parameters.Add(objParam)
objParam = new OleDbParameter("@NE_IMG_LOGO",OleDbType.varchar)
objParam.Value = ne_img_logo
ObjCommand.Parameters.Add(objParam)
objParam = new OleDbParameter("@NE_SITO",OleDbType.varchar)
objParam.Value = ne_sito
ObjCommand.Parameters.Add(objParam)
try
objconn.Open
ObjCommand.ExecuteNonQuery()
objConn.Close
Catch e as Exception
throw e
End Try
End Sub
Questa è la pagina aspx:
Sub UpdateNegozio (obj as object, e as DatalistCommandEventArgs)
'Gestione del comando OnUpdateCommand del controllo Datalist1
Dim strconn,ne_nome,ne_icona,ne_coordx,ne_coordy,ne_in dirizzo,ne_cap,ne_citta,ne_tel,ne_fax,ne_email,ne_ desc,ne_foto1,ne_foto2,ne_img_banner,ne_txt_banner ,ne_img_logo,ne_sito as string
Dim ID_Negozio,ne_id_tipologia,ne_online,ne_new,ne_sch eda,ne_banner,ne_logo as integer
ID_Negozio = datalist1.DataKeys.Item (e.item.itemindex)
ne_nome = cTYPE( e.Item.FindControl("BOX_NE_NOME"),textbox).text
ne_id_tipologia = cTYPE( e.Item.FindControl("BOX_NE_ID_TIPOLOGIA"),textbox) .text
ne_icona = cTYPE( e.Item.FindControl("BOX_NE_ICONA"),textbox).text
ne_coordx = cTYPE( e.Item.FindControl("BOX_NE_COORDX"),textbox).text
ne_coordy = cTYPE( e.Item.FindControl("BOX_NE_COORDY"),textbox).text
ne_indirizzo = cTYPE( e.Item.FindControl("BOX_NE_INDIRIZZO"),textbox).te xt
ne_cap = cTYPE( e.Item.FindControl("BOX_NE_CAP"),textbox).text
ne_citta = cTYPE( e.Item.FindControl("BOX_NE_CITTA"),textbox).text
ne_tel = cTYPE( e.Item.FindControl("BOX_NE_TEL"),textbox).text
ne_fax = cTYPE( e.Item.FindControl("BOX_NE_FAX"),textbox).text
ne_email = cTYPE( e.Item.FindControl("BOX_NE_EMAIL"),textbox).text
ne_desc = cTYPE( e.Item.FindControl("BOX_NE_DESC"),textbox).text
ne_foto1 = cTYPE( e.Item.FindControl("BOX_NE_FOTO1"),textbox).text
ne_foto2 = cTYPE( e.Item.FindControl("BOX_NE_FOTO2"),textbox).text
if (cTYPE( e.Item.FindControl("BOX_NE_ONLINE"),textbox).text = "True") then ne_online = 1 else ne_online = 0
if (cTYPE( e.Item.FindControl("BOX_NE_NEW"),textbox).text = "True") then ne_new = 1 else ne_new = 0
if (cTYPE( e.Item.FindControl("BOX_NE_SCHEDA"),textbox).text = "True") then ne_scheda = 1 else ne_scheda = 0
if (cTYPE( e.Item.FindControl("BOX_NE_BANNER"),textbox).text = "True") then ne_banner = 1 else ne_banner = 0
ne_img_banner = cTYPE( e.Item.FindControl("BOX_NE_IMG_BANNER"),textbox).t ext
ne_txt_banner = cTYPE( e.Item.FindControl("BOX_NE_TXT_BANNER"),textbox).t ext
if (cTYPE( e.Item.FindControl("BOX_NE_LOGO"),textbox).text = "True") then ne_logo = 1 else ne_logo = 0
ne_img_logo = cTYPE( e.Item.FindControl("BOX_NE_IMG_LOGO"),textbox).tex t
ne_sito = cTYPE( e.Item.FindControl("BOX_NE_SITO"),textbox).text
StrConn = ConfigurationSettings.AppSettings("stringaconnessi one")
Dim objdatabase as new Admin.Database(strconn)
objdatabase.AggiornaDatiNegozio(ID_Negozio,ne_nome ,ne_id_tipologia,ne_icona,ne_coordx,ne_coordy,ne_i ndirizzo,ne_cap,ne_citta,ne_tel,ne_fax,ne_email,ne _desc,ne_foto1,ne_foto2,ne_online,ne_new,ne_scheda ,ne_banner,ne_img_banner,ne_txt_banner,ne_logo,ne_ img_logo,ne_sito)
Datalist1.Databind()
Datalist1.EditItemIndex = -1
End Sub
Qualcuno sa come risolvere sto' problema ?
Per il momento ho ovviato facendo una insert e poi una delete su ID_Negozio ma non è una gran soluzione
:master:
Grazie a tutti e Ciao