brunodopredio Posted August 16, 2012 at 06:45 PM Report Share #472491 Posted August 16, 2012 at 06:45 PM Quero inserir um byte no banco, mas pode ser que não exista o arquivo e terei que inserir null. Se eu colocar SqlByte [] para inserir depois se for nulo o arquivo = SqlByte.null ele não consegue executar o ReadBytes. Se eu colocar somente arquivo = null; Na hora do parâmetro do insert no banco cmd.parameters.addwithvalue("@imagem",arquivo), o banco não aceita esse null. Alguém poderia me ajudar como faria para inserir null no sqlcommand por esse parâmetro? byte[] Arquivo; if (projeto.ArquivoDesenho != string.Empty) { //Prepara o arquivo para salvar em BD FileStream fs = new FileStream(projeto.ArquivoDesenho, FileMode.Open, FileAccess.Read); BinaryReader br = new BinaryReader(fs); Arquivo = br.ReadBytes((int)fs.Length); br.Close(); fs.Close(); } else { // Arquivo = Aqui preciso definir como SQLBYTE.null; } Link to comment Share on other sites More sharing options...
bruno1234 Posted August 16, 2012 at 07:17 PM Report Share #472495 Posted August 16, 2012 at 07:17 PM Tens na base de dados a coluna a aceitar null? qual é a excepção que te dá? Podes sempre experimentar colocar no parâmetro que vai para a base de dados DBNull.Value em vez de afectares a propriedade Arquivo. Matraquilhos para Android. Gratuito na Play Store. https://play.google.com/store/apps/details?id=pt.bca.matraquilhos Link to comment Share on other sites More sharing options...
brunodopredio Posted August 16, 2012 at 07:27 PM Author Report Share #472496 Posted August 16, 2012 at 07:27 PM Tens na base de dados a coluna a aceitar null? qual é a excepção que te dá? Podes sempre experimentar colocar no parâmetro que vai para a base de dados DBNull.Value em vez de afectares a propriedade Arquivo. Aceita nulo sim. Ele dá o erro the parameterezed expects @Arquivo , which was not supplied quando coloco arquivo = null. como colocar dbnull.value? por que ele pode ter o arquivo ou ser nulo não pode ser somente nulo. se eu colocar arquivo = dbnull.value ele diz que não pode converter implicitamente system.dbnull em byte[] Link to comment Share on other sites More sharing options...
bruno1234 Posted August 16, 2012 at 08:00 PM Report Share #472497 Posted August 16, 2012 at 08:00 PM (edited) se eu colocar arquivo = dbnull.value ele diz que não pode converter implicitamente system.dbnull em byte[] Já estava a ver que ias fazer isso. Lê bem o que eu escrevi: Podes sempre experimentar colocar no parâmetro que vai para a base de dados DBNull.Value em vez de afectares a propriedade Arquivo. Não é o Arquivo que afectas, é o parâmetro que estás a usar. O @Arquivo Edited August 16, 2012 at 08:01 PM by bruno1234 Matraquilhos para Android. Gratuito na Play Store. https://play.google.com/store/apps/details?id=pt.bca.matraquilhos Link to comment Share on other sites More sharing options...
brunodopredio Posted August 16, 2012 at 08:05 PM Author Report Share #472498 Posted August 16, 2012 at 08:05 PM Já estava a ver que ias fazer isso. Lê bem o que eu escrevi: Não é o Arquivo que afectas, é o parâmetro que estás a usar. O @Arquivo Isso entendi...Mas o que fazer checar se o byte está vazio caso esteja coloco que @Arquivo, SqlByte.null ? Seria isso? Link to comment Share on other sites More sharing options...
bruno1234 Posted August 16, 2012 at 08:35 PM Report Share #472499 Posted August 16, 2012 at 08:35 PM Sim. Se não der com o SqlByte.Null, tenta com DBNull.Value. Matraquilhos para Android. Gratuito na Play Store. https://play.google.com/store/apps/details?id=pt.bca.matraquilhos Link to comment Share on other sites More sharing options...
brunodopredio Posted August 21, 2012 at 02:12 PM Author Report Share #473018 Posted August 21, 2012 at 02:12 PM ehh coloquei no parametro, não queria fazer outro if mas naum vejo outro jeito para a solução. if (arquivo != null) { cmd.Parameters.AddWithValue("@Desenho", arquivo); } else { cmd.Parameters.AddWithValue("@Desenho", SqlBytes.Null); } Link to comment Share on other sites More sharing options...
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now