Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Boa noite a todos precisava de uma ajuda de voces eu estou a tentar fazer o upload de um ficheiro para uma pasta e ao mesmo tempo guardar numa base de dados apenas o nome do ficheiro o estado e o utilizador a sp que realiza isso é a seguinte:
ALTER procedure [dbo].[usp_inserirImport]
@NOMEFICHEIRO varchar(255),
@UTILIZADOR varchar(255),
@ESTADO varchar(255)
as insert into dbo.IMPORTXML (NOMEFICHEIRO, UTILIZADOR, ESTADO)
values (@NOMEFICHEIRO, @UTILIZADOR, @ESTADO)
o codigo que estou usando para fazer o upload é o descrito abaixo:
Dim savePath As String = "C:\\Users\\HP530\\Desktop\\Backofficeb\\Imports\\" '"G:\\wwwroot\\FicheirosPP\\" 'tens q por aki o teu caminho do servidor
Dim idCont As String = ""
Dim filename As String = ""
Protected Sub btnUpload_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnUpload.Click
If FileUpload1.HasFile Then
Try
Dim myConnection As New SqlConnection(ConfigurationManager.ConnectionStrings("SLConnectionString").ToString)
Dim strSQL As String
Dim myCommand As SqlCommand
Dim dr As SqlDataReader
strSQL = "exec usp_inserirImport ' + FileUpload1.FileName + ' , ' + session(Login) + ' , ' + 'CRIADO' + '"
myCommand = New SqlCommand(strSQL, myConnection)
myConnection.Open()
dr = myCommand.ExecuteReader
'If dr.Read Then
' idCont = dr("ID_IMPXML").ToString()
'End If
'dr.Close()
'myConnection.Close()
'lblStatus.Text = "Anexando o ficheiro" + FileUpload1.FileName
FileUpload1.SaveAs(savePath + idCont + FileUpload1.FileName)
'lblStatus.Text = "Ficheiro anexado com sucesso"
Me.FileUpload1.Enabled = False
Me.btnUpload.Enabled = False
Catch
Me.Label2.Text = "TTTTT"
End Try
Else
End If
End Sub
e nao me é feito nada o me deu a entender é q ele nem neste metodo entra precisava de uma ajuda da vossa parte mesmo urgente. Muito obrigado desde ja
se eu colocar uma label no cath ele sai logo da pagina por isso nao esta entrando no try
o q eu disse acima nao acontece sempre de vez em quando acontece nao sei o motivo nao estou percebendo o q se passa
Ele nao esta passando logo para o Catch e me mostrando logo a mensagem de erro q eu peço para exibir nesta label
lblStatus.Text = "Erro"
If FileUpload1.HasFile Then
Try
Dim myConnection As New SqlConnection(ConfigurationManager.ConnectionStrings("SLConnectionString").ToString)
Dim strSQL As String
Dim myCommand As SqlCommand
Dim dr As SqlDataReader
strSQL = "exec usp_inserirImport ' + FileUpload1.FileName + ' , ' + session(Login) + ' , ' + 'CRIADO' + '"
myCommand = New SqlCommand(strSQL, myConnection)
myConnection.Open()
dr = myCommand.ExecuteReader
'If dr.Read Then
' idCont = dr("ID_IMPXML").ToString()
'End If
'dr.Close()
'myConnection.Close()
'lblStatus.Text = "Anexando o ficheiro" + FileUpload1.FileName
FileUpload1.SaveAs(savePath + FileUpload1.FileName)
lblStatus.Text = "Ficheiro anexado com sucesso"
'FileUpload1.PostedFile.ContentLength & " kb<br>" "Content type: " & FileUpload1.PostedFile.ContentType
Me.FileUpload1.Enabled = False
Me.Button2.Enabled = False
Catch
lblStatus.Text = "Erro"
'Me.Label2.Text = "TTTTT"
' lblStatus.Text = "exec usp_addFicheiroPP " + "'/FicheirosPP/" + idCont + FileUpload1.FileName + "' , '" + idCont + FileUpload1.FileName + "' ," + idCont
End Try
Else
lblStatus.Text = "Anexar ficheiro"
End IfPosta o erro que ele apresenta no seu label..
Da uma olhada nesse artigo, ele é pequeno e simples: http://www.linhadecodigo.com.br/Artigo.aspx?id=182
Abraços...
obrigada Bruno sua ajuda foi muito grande, tb agradeco daniel por me tentar ajudar topico resolvido deixo codigo complecto:
CODE
Protected Sub Button2_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button2.Click
Try
Dim myConnection As New SqlConnection(ConfigurationManager.ConnectionStrings("SLConnectionString").ToString)
Dim strSQL As String
Dim myCommand As SqlCommand
Dim dr As SqlDataReader
' strSQL = "exec usp_inserirImport ' + FileUpload1.FileName + ' , ' + session(Login) + ' , ' + CRIADO + '"
strSQL = "exec usp_inserirImport '" & FileUpload1.FileName & "' , '" & Session("Login") & "' , 'CRIADO' "
myCommand = New SqlCommand(strSQL, myConnection)
myConnection.Open()
dr = myCommand.ExecuteReader
'If dr.Read Then
' idCont = dr("ID_IMPXML").ToString()
'End If
'dr.Close()
'myConnection.Close()
'Verificamos se tem alguma coisa postada
If Not IsNothing(FileUpload1.PostedFile) Then
'Pegamos as informacoes do arquivo postado
Dim infoarquivo As New IO.FileInfo(FileUpload1.PostedFile.FileName)
'Definimos onde ele será salvo
Dim strCaminho As String = "C:\\Users\\HP530\\Desktop\\Backofficeb\\Ficheiros\\" & infoarquivo.Name
'Salvamos o mesmo
FileUpload1.PostedFile.SaveAs(strCaminho)
'Mensagem de confirmacao
Me.lblStatus.Text = "Arquivo enviado com sucesso!"
Else
Me.lblStatus.Text = "Selecione um arquivo!"
End If
Catch ex As Exception
'Se der algum erro, exibimos a mensagem
Me.lblStatus.Text = "Há erros!. " & ex.Message
End Try
End Sub
Já debugou para ver exatamente o que acontece?? Ele esta entrando no bloco Catch??
Abraços...