Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Ilano

Salvar imagem em banco de dados SQL Server

Recommended Posts

Olá pessoal,

 

Estou tentando salvar uma imagem em banco de dados SQL Server 2008 R2. Fazendo um brackpoint percebi que a variável Upload recebe o valor do FileUpload1, mas lá no objeto objEmpresas a variável vlLogomarca fica vazia. Veja só o código:

 

 

Private Sub AssociaCampos()
Dim Ds As Data.DataSet
Dim pParametro As String
Dim Upload As Byte()
If LbCodigo.Text > 0 Then pParametro = " Empresa_Codigo <> " & LbCodigo.Text & " AND " Else pParametro = DBNull.Value.ToString
Ds = Empresas.Consultar(pParametro & " Empresa_RazaoSocial = '" & Trim(TxtRazaoSocial.Text) & _
"' AND Empresa_Filial = " & rblFilial.SelectedValue, "")
Dim pCNPJ, pCelular, pFone1, pFone2, pFax, pCep, pData As String
pCNPJ = TxtCNPJ.Text
pCNPJ = Replace(pCNPJ, ".", "")
pCNPJ = Replace(pCNPJ, "-", "")
pCNPJ = Replace(pCNPJ, "/", "")
pCNPJ = Replace(pCNPJ, "_", "")
pCelular = TxtCelular.Text
pCelular = Replace(pCelular, ".", "")
pCelular = Replace(pCelular, "-", "")
pCelular = Replace(pCelular, "/", "")
pCelular = Replace(pCelular, "_", "")
pCelular = Replace(pCelular, "(", "")
pCelular = Replace(pCelular, ")", "")
pFone1 = TxtFone1.Text
pFone1 = Replace(pFone1, ".", "")
pFone1 = Replace(pFone1, "-", "")
pFone1 = Replace(pFone1, "/", "")
pFone1 = Replace(pFone1, "_", "")
pFone1 = Replace(pFone1, "(", "")
pFone1 = Replace(pFone1, ")", "")
pFone2 = TxtFone2.Text
pFone2 = Replace(pFone2, ".", "")
pFone2 = Replace(pFone2, "-", "")
pFone2 = Replace(pFone2, "/", "")
pFone2 = Replace(pFone2, "_", "")
pFone2 = Replace(pFone2, "(", "")
pFone2 = Replace(pFone2, ")", "")
pFax = TxtFax.Text
pFax = Replace(pFax, ".", "")
pFax = Replace(pFax, "-", "")
pFax = Replace(pFax, "/", "")
pFax = Replace(pFax, "_", "")
pFax = Replace(pFax, "(", "")
pFax = Replace(pFax, ")", "")
pCep = TxtCep.Text
pCep = Replace(pCep, ".", "")
pCep = Replace(pCep, "-", "")
pCep = Replace(pCep, "/", "")
pCep = Replace(pCep, "_", "")
pData = TxtDataEmpresa.Text
pData = Replace(pData, ".", "")
pData = Replace(pData, "-", "")
pData = Replace(pData, "/", "")
pData = Replace(pData, "_", "")
'Upload = Nothing
If FileUpload1.HasFile Then Upload = FileUpload1.FileBytes Else Upload = Nothing
If Not Ds Is Nothing Then
If Ds.Tables(0).Rows.Count = 0 Then
With Empresas
.Codigo = LbCodigo.Text
.Categoria = DDLCategoria.SelectedValue
.Pessoa = rblPessoa.SelectedValue
.Cidade = DDLCidade.SelectedValue
.CNPJ = Trim(TxtCNPJ.Text)
.CGF = Trim(TxtCGF.Text)
.RazaoSocial = Trim(TxtRazaoSocial.Text)
.Fantasia = Trim(TxtFantasia.Text)
.Endereco = Trim(TxtEndereco.Text)
.Numero = Trim(TxtNumero.Text)
If Trim(TxtComplemento.Text) <> DBNull.Value.ToString Then .Complemento = Trim(TxtComplemento.Text) Else .Complemento = DBNull.Value.ToString
.Bairro = Trim(TxtBairro.Text)
If Trim(pCep) <> DBNull.Value.ToString Then .Cep = TxtCep.Text Else .Cep = DBNull.Value.ToString
.Fone1 = Trim(TxtFone1.Text)
If Trim(pFone2) <> DBNull.Value.ToString Then .Fone2 = Trim(TxtFone2.Text) Else .Fone2 = DBNull.Value.ToString
If Trim(pFax) <> DBNull.Value.ToString Then .Fax = Trim(TxtFax.Text) Else .Fax = DBNull.Value.ToString
.Contato = Trim(TxtContato.Text)
If Trim(pCelular) <> DBNull.Value.ToString Then .Celular = Trim(TxtCelular.Text) Else .Celular = DBNull.Value.ToString
.Email = Trim(LCase(TxtEmail.Text))
.Site = Trim(LCase(TxtSite.Text))
.Filial = rblFilial.SelectedValue
If Trim(pData) <> DBNull.Value.ToString Then .DataAniversario = TxtDataEmpresa.Text Else .DataAniversario = Trim(pData)
If cbAtivo.Checked = True Then .Ativo = "True" Else .Ativo = "False"
If FileUpload1.HasFile Then
.Logomarca = Upload 'FileUpload1.FileBytes
.Arquivo = FileUpload1.FileName
Else
If Not FileUpload1.HasFile Then
.Arquivo = DBNull.Value.ToString
End If
End If
End With
If LbCodigo.Text = 0 Then
Fn.Alerta(Empresas.Inserir(LbMensagem), Page)
If FileUpload1.HasFile Then FileUpload1.PostedFile.SaveAs(Server.MapPath("~/imagens/jpg/" & FileUpload1.FileName))
Else
If LbCodigo.Text > 0 Then
Fn.Alerta(Empresas.Alterar(LbMensagem), Page)
If FileUpload1.HasFile Then FileUpload1.PostedFile.SaveAs(Server.MapPath("~/imagens/jpg/" & FileUpload1.FileName))
End If
End If
LimpaCampos()
Else
If Ds.Tables(0).Rows.Count > 0 Then
LbMensagem.Text = "Este registro já foi cadastrado."
End If
End If
End If
End Sub

 

 

Objeto objEmpresas.vb

 

 

 

Private vlCodigo As Integer
Private vlCategoria As Integer
Private vlCidade As Integer
Private vlPessoa As String
Private vlCNPJ As String
Private vlCGF As String
Private vlRazaoSocial As String
Private vlFantasia As String
Private vlEndereco As String
Private vlNumero As String
Private vlComplemento As String
Private vlBairro As String
Private vlCep As String
Private vlFone1 As String
Private vlFone2 As String
Private vlFax As String
Private vlContato As String
Private vlCelular As String
Private vlEmail As String
Private vlSite As String
Private vlFilial As Integer
Private vlAtivo As String
Private vlDataAniversario As String
Private vlLogomarca As Byte()
Private vlArquivo As String
Public Function Inserir(ByVal pLabel As WebControls.Label) As String
Try
Cm = New SqlCommand
' Gera o código
Db = New classDatabase.DbSql
Db.NomeTabela = "c001_empresas"
vlCodigo = Db.Chave("Empresa_Codigo")
Db = Nothing
With Cm.Parameters
.AddWithValue("@Empresa_Codigo", vlCodigo)
.AddWithValue("@Categoria_Codigo", vlCategoria)
.AddWithValue("@Cidade_Codigo", vlCidade)
.AddWithValue("@Empresa_Pessoa", vlPessoa)
.AddWithValue("@Empresa_CPF", vlCNPJ)
If Trim(vlCGF) <> "" Then .AddWithValue("@Empresa_RG", vlCGF) Else .AddWithValue("@Empresa_RG", DBNull.Value)
.AddWithValue("@Empresa_RazaoSocial", Trim(vlRazaoSocial))
.AddWithValue("@Empresa_Fantasia", Trim(vlFantasia))
.AddWithValue("@Empresa_Endereco", Trim(vlEndereco))
.AddWithValue("@Empresa_Numero", Trim(vlNumero))
If Trim(vlComplemento) <> "" Then .AddWithValue("@Empresa_Complemento", Trim(vlComplemento)) Else .AddWithValue("@Empresa_Complemento", DBNull.Value)
.AddWithValue("@Empresa_Bairro", Trim(vlBairro))
.AddWithValue("@Empresa_Cep", Trim(vlCep))
.AddWithValue("@Empresa_Fone1", Trim(vlFone1))
If Trim(vlFone2) <> "" Then .AddWithValue("@Empresa_Fone2", Trim(vlFone2)) Else .AddWithValue("@Empresa_Fone2", DBNull.Value)
If Trim(vlFax) <> "" Then .AddWithValue("@Empresa_Fax", Trim(vlFax)) Else .AddWithValue("@Empresa_Fax", DBNull.Value)
If Trim(vlContato) <> "" Then .AddWithValue("@Empresa_Contato", Trim(vlContato)) Else .AddWithValue("@Empresa_Contato", DBNull.Value)
If Trim(vlCelular) <> "" Then .AddWithValue("@Empresa_Celular", Trim(vlCelular)) Else .AddWithValue("@Empresa_Celular", DBNull.Value)
If Trim(vlEmail) <> "" Then .AddWithValue("@Empresa_Email", LCase(Trim(vlEmail))) Else .AddWithValue("@Empresa_Email", DBNull.Value)
If Trim(vlSite) <> "" Then .AddWithValue("@Empresa_Site", LCase(Trim(vlSite))) Else .AddWithValue("@Empresa_Site", DBNull.Value)
If Trim(vlAtivo) <> "" Then .AddWithValue("@Empresa_Ativo", LCase(Trim(vlAtivo))) Else .AddWithValue("@Empresa_Ativo", "False")
.AddWithValue("@Empresa_Filial", vlFilial)
.AddWithValue("@Empresa_Aniversario", CDate(vlDataAniversario))
If Not IsNothing(vlLogomarca) Then .AddWithValue("@Empresa_Logo", vlLogomarca) Else .AddWithValue("@Empresa_Logo", Nothing)
If Trim(vlArquivo) <> "" Then .AddWithValue("@Empresa_NomeLogo", Trim(vlArquivo)) Else .AddWithValue("@Empresa_NomeLogo", DBNull.Value)
End With
If Busca(" Empresa_Filial = " & vlFilial & " AND Empresa_CPF = '" & Trim(vlCNPJ) & "' ") Then
pLabel.CssClass = "label atencao"
pLabel.Text = "Registro já cadastrado!"
Return "Registro já cadastrado!"
Else
' Cria uma instância do objeto de conexao com o banco de dados
' e preenche os dados necessarios para realizar as operacoes
Db = New classDatabase.DbSql
Db.NomeTabela = "c001_empresas"
Return Db.Salvar(Cm)
End If
Catch ex As Exception
pLabel.CssClass = "label atencao"
pLabel.Text = "Registro já cadastrado!"
Return "Ocorreu um erro ao tentar incluir um novo registro: " & ex.Message
Finally
Cm = Nothing
Db = Nothing
End Try
End Function

 

 

O que está errado neste código?

Grato,

 

Ilano.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá Khaos,

 

Já fiz isso, mas continua a variável Upload recebendo Nothing e a variável Arquivo recebe o nome do arquivo direitinho, como pode ser isso?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sim. Todas as variáveis do objeto recebem um valor, mas a Logomarca não recebe nada.

Essa variável eu adicionei bem depois, até então funcionava tudo direito, mas agora! :(

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você tem que instanciar uma classe empresa no topo do form, se não ele não vai receber nada mesmo. (KhaosDoctor)

 

Mas eu já fiz isso. O campo de imagens foi criado bem depois, antes estava tudo funcionando direitinho, mas agora somente essa variável Upload não recebe nada.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.