Jump to content

Recommended Posts

Posted

bem pessoal, eu fiz uma base de dados atraves do vb.net em sql.

dentro dessa base de dados fiz uma tabela que é a tabela_imagens.

na tabela_imagens os campos sao: cod_imagem (int), imagem_verdadeira (image), imagem_falsa (imagem), sair (bit).

na tabela nenhum campo permite ser NULL.

eu gostava de saber como e que poderia introduzir as imagens na tabela, é que nao sei como é.

eu pesquisei, e encontrei um codigo para introduzir as imagens atraves de um formulário, mas com este codigo ele nao guarda nada na base de dados.  :wallbash:

codigo:

Public Class form_inserir_imagens
    Dim openFD = New OpenFileDialog

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        ' Define a Connection String

        Dim myConnectionString As String = "Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\bd_find_the_differences.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True"

        Try
            ' Cria um novo FileStream para leitura da imagem
            Dim fs As New IO.FileStream("c:\image.jpg", IO.FileMode.Open, IO.FileAccess.Read)
            ' Cria um array de Bytes do tamanho do FileStream 
            Dim ImageData(fs.Length() - 1) As Byte
            ' Lê os bytes do FileStream para o array criado
            fs.Read(ImageData, 0, ImageData.Length)
            ' Fecha o FileStream ficando a imagem guardada no array
            fs.Close()

            Using connection As New SqlClient.SqlConnection(myConnectionString)

                ' Define o commando Transact-SQL para inserir dados
                Dim SQL As String = "INSERT INTO tabela_imagens ([cod_imagem],[imagem_verdadeira],[imagem_falsa],[sair]) VALUES (@cod,@img1,@img2,@sair);"
                Dim command As New SqlClient.SqlCommand(Sql, connection)
                ' Define os parametros para a inserção de dados, onde está o array 
                ' de bytes(imagem) a ser inserida. O tipo do campo é Image
                command.Parameters.Add("@cod", SqlDbType.Int).Value = CInt(ProxCod.Text)
                command.Parameters.Add("@img1", SqlDbType.Image).Value = ImageData
                command.Parameters.Add("@img2", SqlDbType.Image).Value = ImageData
                command.Parameters.Add("@sair", SqlDbType.Bit).Value = 0
                connection.Open()
                ' Insere os campos no SQL
                command.ExecuteNonQuery()
            End Using
        Catch ex As Exception
            MessageBox.Show(ex.Message, My.Application.Info.Title, MessageBoxButtons.OK, MessageBoxIcon.Error)
        End Try
    End Sub

    Private Sub form_inserir_imagens_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    End Sub

    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
        Dim strFileName As String

        openFD.InitialDirectory = "C:\"

        openFD.Title = "Add A Display Picture"
        openFD.Filter = "JPEGS|*.jpg|GIFS|*.gif|Bitmaps|*.bmp"
        Dim DidWork As Integer = openFD.ShowDialog()

        If DidWork = DialogResult.OK Then
            strFileName = openFD.FileName
            PB1.Image = Image.FromFile(strFileName)
            openFD.Reset()
        End If

    End Sub

    Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
        Dim strFileName As String

        openFD.InitialDirectory = "C:\"

        openFD.Title = "Add A Display Picture"
        openFD.Filter = "JPEGS|*.jpg|GIFS|*.gif|Bitmaps|*.bmp"
        Dim DidWork As Integer = openFD.ShowDialog()

        If DidWork = DialogResult.OK Then
            strFileName = openFD.FileName
            PB2.Image = Image.FromFile(strFileName)
            openFD.Reset()
        End If
    End Sub
End Class

alguem podiame ajudar?

Posted

Hum, não sei com sql server isto também acontece, mas não estarás a criar uma bd nova cada vez que compilas/corres o teu programa?

Adicionaste a bd ao projecto? Se adicionaste, vê como tens a propriedade Copy to Output.

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.