Ilano 0 Denunciar post Postado Outubro 15, 2013 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
KhaosDoctor 242 Denunciar post Postado Outubro 15, 2013 você chama essa verificação duas vezes: If FileUpload1.HasFile Then Junte tudo em um lugar só Compartilhar este post Link para o post Compartilhar em outros sites
Ilano 0 Denunciar post Postado Outubro 15, 2013 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
KhaosDoctor 242 Denunciar post Postado Outubro 15, 2013 Você instanciou uma classe empresas no form? Compartilhar este post Link para o post Compartilhar em outros sites
Ilano 0 Denunciar post Postado Outubro 15, 2013 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
KhaosDoctor 242 Denunciar post Postado Outubro 16, 2013 Você tem que instanciar uma classe empresa no topo do form, se não ele não vai receber nada mesmo. Compartilhar este post Link para o post Compartilhar em outros sites
Ilano 0 Denunciar post Postado Outubro 16, 2013 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
KhaosDoctor 242 Denunciar post Postado Outubro 16, 2013 Ja tentou setar os valores manualmente? Sem passar pela propriedade? Compartilhar este post Link para o post Compartilhar em outros sites