Jump to content

Recommended Posts

Posted (edited)

Boas a todos.

Estou com problema que não consigo resolver.

Eu tenho um botão na aplicação que é para adicionar ficheiros pdf , referente a um determinado id,e depois vizualiza-los numa listbox,para futura consulta .

Acontece que na listbox só me aparece o cominho e não o nome do pdf.

Abrir Ficheiro:

OpenFileDialog1.Title = "Seleccionar Ficheiro"
	OpenFileDialog1.InitialDirectory = CurDir()
	OpenFileDialog1.Filter = "Ficheiros PDF|*.pdf"
	If OpenFileDialog1.ShowDialog = Windows.Forms.DialogResult.OK Then
		ListBox1.SelectedItem = OpenFileDialog1.FileName
	End If

Guardar ficheiro:

Dim myStream As Stream
	Dim sfdFicheiro As New SaveFileDialog()
	sfdFicheiro.Filter = "PDF (*.PDF)|*.PDF"
	sfdFicheiro.FilterIndex = 2
	sfdFicheiro.RestoreDirectory = True
	If sfdFicheiro.ShowDialog() = DialogResult.OK Then
		myStream = sfdFicheiro.OpenFile()
		If (myStream IsNot Nothing) Then
			' Code to write the stream goes here.
			myStream.Close()
		End If
	End If

para inserir na bd:

' Texto de ligação à base de dados
	Dim myConnectionString As String = _
	 "Data Source=.\SQLEXPRESS; Initial Catalog=Parque; Integrated Security=SSPI;"
	' Comando que irá inserir dados na tabela "Parque"  os campos
	'que são passados através de parâmetros
	Dim SQL As String = "INSERT INTO fatura ([nome],[url_pdf],[idGestaoFK]) VALUES ('" & OpenFileDialog1.FileName & "','" & sfdFicheiro.FileName & "','" & txtId.Text & "');"
	' Cria uma nova ligação à base de dados
	Dim connection As New SqlConnection(myConnectionString)
	' Criação do comando indicando a instrução e a ligação
	Dim command As New SqlCommand(SQL, connection)
	' Indicação dos parâmetros que serão inseridos
	connection.Open()
	Dim x As Integer = command.ExecuteNonQuery()
	If x < 1 Then
	End If
	' Fecha a ligação e limpa as variáveis
	connection.Close()
	connection = Nothing
	command = Nothing
	'Se existir o id_pesquisa
	If tabela.id_pesquisa <> "" Then
		' conecção á base de dados
		Dim objConnection As New SqlConnection _
			 ("Data Source=.\SQLEXPRESS;Initial Catalog=Parque;Integrated Security=SSPI;")
		Dim query As String
		query = " SELECT * FROM fatura WHERE idGestaoFK='" & tabela.id_pesquisa & "'"
		Dim commando As New SqlCommand(query, objConnection)
		' command.CommandText=query
		objConnection.Open()
		Dim DataAdapter As New SqlDataAdapter(commando)
		Dim reader = commando.ExecuteReader()
		ListBox1.Items.Clear()
		While (reader.Read())
			ListBox1.Items.Add(reader(2))
		End While
		objConnection.Close()
		objConnection = Nothing
		commando = Nothing
	Else
	End If
End Sub

Uma ajudinha era bom...... 🙂🙂

Um abraço

Edited by Caça
GeSHi
  • Replies 54
  • Created
  • Last Reply

Top Posters In This Topic

Top Posters In This Topic

Posted (edited)

Os ficheiros vão estar guardados em bd e numa pasta, no servidor e não sei qual é o caminho.

Experimentei de varias formas,mas sem sucesso na mesma

😞

Edited by Blackvelvet
Posted (edited)

Como estou a fazer um duplo clik na listbox, tenho este codigo para abrir o pdf.

Private Sub ListBox1_DoubleClick(sender As System.Object, e As System.EventArgs) Handles ListBox1.DoubleClick
	Dim url As String = My.Application.Info.DirectoryPath & " *.pdf\" & ListBox1.SelectedItem.ToString()
	Process.Start(url)
End Sub

e dá-me o erro que não encontra o caminho especificado (?)

Alias, o erro é o seguinte:

"O sistema não conseguiu localizar o ficheiro especificado"

Edited by Caça
GeSHi
Posted

Tens de verificar qual o caminho que esse código está a gerar, resumindo deve estar a fazer algo deste género

...\Bin\Debug*.pdf\Ficheiro.pdf

Pedro Martins

Não respondo a duvidas por PM

Posted

Ja alterei para:

Private Sub ListBox1_DoubleClick(sender As System.Object, e As System.EventArgs) Handles ListBox1.DoubleClick
			Dim url As String = My.Application.Info.DirectoryPath & " \pdf\" & ListBox1.SelectedItem.ToString()
			Process.Start(url)
	End Sub
eliminei o " *.pdf\ ". mesmo assim continua a dar erro.

Eu queria que me amostra-se o nome do pdf. como aparece na imagem

Posted

Vou tentar dar a entender o que realmente pretendo.

Eu criei uma tabela a qual dei o de fatura. É para que?

Para a pessoa digitalizar as facturas em pdf e depois guarda-las na bd. A aplicação tem uma listbox com as faturas associadas ao respectivo id,para que o utilizador passa,mais tarde,ou uma eventual, auditoria,poderem visualizar a fatura,que neste caso seria a copia( a original fica guardada em pasta).

O pdf que se vê na imagem, foi inserido directamente no sql,para testar, e realmente funciona. assim que se dá 2 clicks, o pdf abre.

Eu não estou a conseguir é fazer o que mostra a imagem, que era o que pretendia,para acabar a aplicação e entregar.

(estou em estagio)

Espero que me tenha feito entender...

Posted

A aplicação é para fazer a gestão de um parque informatico da empresa na qual estou a estagiar.

O gestor pediu-me se podia fazer,na aplicação, um campo em que mostrasse as facturas de um determinado equipamento.

O que se pretende é o que aparece na imagem.

Que na listbox,apareça o nome da fatura e não o caminho. assim o gestor clica 2x no item que deseja e abre o pdf.

O gestor,vai digitalizar a fatura em pdf, e quer, que esta, fique guardada na bd,mas na listbox só apareça o nome.

Fazer a busca e guardar na bd,isso eu ja consegui fazer. Mas o que pretendo é que apareca na listbox o nome da fatura,como mostra a imagem

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.