Problema nell'aggiungere un record ad una tabella

giovedì 03 luglio 2008 - 11.11

monaco91 Profilo | Newbie

Buongiorno a tutti xD

Ho questa pagina .vb che mi funge da codefile in una pagina aspx

Imports System
Imports System.Web
Imports System.Web.UI
Imports System.Web.UI.Page
Imports System.Drawing
Imports System.IO
Imports System.Drawing.Imaging
Imports Microsoft.VisualBasic


Namespace Upload
Partial Class Images
Inherits System.Web.UI.Page
Public Function EseguiUpload(ByVal path As String, ByVal path1 As String, ByVal path2 As String, ByVal SceltaFile As Object, ByVal lblMsg As Object, ByVal successText As String, ByVal noImageText As String, ByVal noSelectText As String, ByVal Titolo As Object, ByVal DescrRapida As Object) As String
Const adCmdText As Integer = &H1
Const adOpenForwardOnly As Integer = 0
Const adLockBatchOptimistic As Integer = 4
Const adUseServer As Integer = 2
Dim objConn As New ADODB.Connection
objConn.CursorLocation = adUseServer
objConn.Open("Data Source=" & Server.MapPath("../../db/acquario.mdb") & ";Provider=Microsoft.Jet.OLEDB.4.0;")

Dim rsGalleria As New ADODB.Recordset
rsGalleria.CursorLocation = adUseServer
Dim strSQL As String
strSQL = "SELECT * FROM Galleria"
rsGalleria.Open(strSQL, objConn, adOpenForwardOnly, adLockBatchOptimistic, adCmdText)

Dim sFile As String
Dim sSplit() As String
Dim sFileType As String

'Prelevo il Nome del File
sFile = SceltaFile.PostedFile.FileName
sSplit = Split(sFile, "\")
sFile = sSplit(UBound(sSplit))

'Controllo se l'utente ha scelto un file
If Len(sFile) <> 0 Then
'Controllo se è un File Immagine
sFileType = sFile.Split(".")(1).ToString
sFileType = UCase(sFileType)

'Condizione in cui verifico il tipo di Formato supportato per l' upload
If (sFileType = "GIF") Or (sFileType = "JPG") Or (sFileType = "JPEG") Or (sFileType = "PNG") Or (sFileType = "BMP") Then
'Creo un nome univoco all'immagine
Dim FileToUp As String
Dim RandomFileName As Integer
Dim i As Integer
For i = 1 To 15
Randomize()
RandomFileName = RandomFileName + Int((100 * Rnd()) + 1)
Next
'Assegno il nome
FileToUp = "I" & RandomFileName & "." & sFileType
'Carico l'immagine nella cartella temporanea
Try
SceltaFile.PostedFile.SaveAs(path2 & FileToUp)
lblMsg.Text = successText
Catch Ex As Exception
'Errore durante il Caricamento
lblMsg.Text = "Errore durante l' upload<br>Errore: " & Ex.Message
End Try

' Ricarico l'immagine per i redimensionamenti
Dim OriginalImage As System.Drawing.Image = System.Drawing.Image.FromFile(path2 & FileToUp)
Dim OutputImagefull As New Bitmap(OriginalImage, 320, 240)
Dim OutputImagetmbnl As New Bitmap(OriginalImage, 100, 75)

Try
'OutputImage.Save(Response.OutputStream, thisFormat) ' output to the user
FileToUp = "I" & RandomFileName & "full." & sFileType
OutputImagefull.Save(path & FileToUp)
FileToUp = "I" & RandomFileName & "tmbnl." & sFileType
OutputImagetmbnl.Save(path1 & FileToUp)
Catch Ex As Exception
lblMsg.Text = "Errore durante l' upload<br>Errore: " & Ex.Message
End Try

' Svuoto la memoria
OriginalImage.Dispose()
OutputImagefull.Dispose()
OutputImagetmbnl.Dispose()

Try
rsGalleria.AddNew()
rsGalleria("Fullimage").Value = path & "I" & RandomFileName & "full." & sFileType
rsGalleria("TmbnlImage").Value = path1 & "I" & RandomFileName & "tmbnl." & sFileType
rsGalleria("Titolo").Value = Titolo.ToString
rsGalleria("DescrizioneImmagine").Value = DescrRapida.ToString
rsGalleria.Update()
Catch ex As Exception
Response.Write(ex.Message)
End Try

rsGalleria.Close()
rsGalleria = Nothing
objConn.Close()
objConn = Nothing
Else
lblMsg.Text = noImageText
End If
Else
lblMsg.Text = noSelectText
End If
End Function
End Class
End Namespace



Il problema è questo: come avrete visto, voglio aggiungere ai campi del database le rispettive stringhe di testo, ma quando vado a vedere dentro al database vedo che la tabella è ancora vuota!!
La cosa ancora più strana è che se io provo ad inserire un dato da access, vedo che il contatore pero' è andato avanti (dovrebbe partire da uno visto che non ci sono record, e invece parte da due, quindi qualcosa è stato inserito solo che non lo vedo)! Com'è possibile?

È una cosa urgente, devo finire due siti internet entro questa settimana e se non risolvo questo problema sono fregato :(:(

Dainesi Profilo | Senior Member

Dunque ... prima di tutto una tirata di orecchi perché continui ad utilizzare ADO e non ADO.NET (anch'io preferisco ADO ma in ambiente NET uso ADO.NET!)

Secondo: hai aperto il recordset con adOpenForwardOnly che automaticamente ti rende il recordset di SOLA LETTURA.

Inoltre non devi utilizzare adLockBatchOptimistic ma bensì adLockOptimistic

Dai! E finisci per tempo !!

monaco91 Profilo | Newbie

Ahah :D:D Grazie :D Aveo già risolto con il comando sql insert into, xo' grazie lo stesso, adesso ho capito dove sbagliavo ;)
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5