Logo Hardware.com.br
suzart.bruno
suzart.bruno Membro Senior Registrado
198 Mensagens 7 Curtidas

[Resolvido] Sql Server Campo Decimal

#1 Por suzart.bruno 12/05/2014 - 15:50
Boa tarde, criei um banco de dados no visual studio 2010 "SQL SERVER COMPACT 3.5" e estou no seguinte problema que não consigo resolver de jeito algum.


Tenho dois campos em uma tabela, uma é de quantidade de litros abastecidos e outra é do horímetro.

Porém eu não consigo criar uma mascara para as textbox em formato decimal consigo apenas deixar o formato decimal no datagrid o que já é um grande avançao.

O que é necessário? Ja tentei utilziar maskedtextbox só que ele não aceita ele trava o valor na textbox e nao deixa eu pular para outra textbox ou sair do formulário. (OBS: O EVENTO CAUSES VALIDATION ESTA FALSE)

queria saber se é possível formatar uma textbox para o seuinte formato


000.000,0 = Formato de horímetro

000.000,0 = Formato em Litros.
suzart.bruno
suzart.bruno Membro Senior Registrado
198 Mensagens 7 Curtidas
#5 Por suzart.bruno
13/05/2014 - 00:43
o problema é mais complexo do que está pensando.

Eu tenho uma textbox que me retorna o maior número do datagrid só que ao colcoar uma maskedtextbox ele deixa de retornar pois passa a ser uma string e como não posso referenciar uma string como maior valor fica complicado. O que eu queria saber é se existe alguma mascara superficial q mude a textbox ou a mask sem ter q ser string, pois para usar uma maskedtextbox não consigo lançar um valor como decimal se tiver com mask ele da erro e fala que nao pode converter para string por ser uma mask decimal. acho que da para entender caso esteja confuso eu explico com imagens.
“ Try not to become a man of success but rather to become a man of value. ” The Helping Desk
suzart.bruno
suzart.bruno Membro Senior Registrado
198 Mensagens 7 Curtidas
#7 Por suzart.bruno
13/05/2014 - 13:32
Me desculpe porém ainda possuo conhecimentos limitados estou evoluindo ainda e procurei a respeito do cast explícito e parece ser algo para programadores mais avançados eu estou no intermediário. Estou procurando a solução mas está difícil rs.
“ Try not to become a man of success but rather to become a man of value. ” The Helping Desk
intruso
intruso Tô em todas Registrado
1.8K Mensagens 41 Curtidas
#12 Por intruso
13/05/2014 - 17:38
Veja, você precisa entender os pormenores quando realizar ma conversão, seja explicita ou implicita.

Na verdade, de onde vem o dado e para onde vai, pouco importa, o que realmente importa é se ele será guardado e exibido de maneira correta.

Por exemplo, você pode armazenar um int em um float (tipos do c#), mas, dependendo do valor, você pode perder informação. O mesmo pode acontecer com uma string que representa um numero, você tem que escolher um formato para a string que seja compatível com o tamanho do formato (int, float, etc) que você escolher para guardar.

Por exemplo, suponha a string "22,02" que você quer guardar numa variável int e depois colocar num campo float do banco de dados.

Se você fizer um cast explicito da string guardando o valor numerico na variável int do seu código, quando ela chegar no banco de dados, vai ser guardado o valor 22, o "0,02", vai para o espaço porque o um tipo int não contem a parte fracionaria.

Eu deveria escolher um tipo float, no mínimo.

O correto é sempre estudar as faixas de valores antes de definir os tipos de variável que vão ser usadas.

Também é necessário forçar o usuário a informar valores corretamente, para evitar erros de conversão.

E independente de c# ou vb, as regras aqui descritas valem do mesmo jeito.
suzart.bruno
suzart.bruno Membro Senior Registrado
198 Mensagens 7 Curtidas
#13 Por suzart.bruno
14/05/2014 - 00:13
Cara eu consegui dar um grande avanço porem...

Estou com dificuldade e estou tentando de tudo quanto é jeito!

consegui aplicar a mask tudo ok!

porém no meu data grid quando lanço o valor ex:"000.100.0" no datagrid aparece perfeitamente 000.100.0 so que na textbox que ele puxa o maior valor ele não puxa 000.100.0 e sim 100.0 . Porque isso ocorre?


O código que uso é esse é uma função

Private Function getmaximumvalue() As Integer
'*
Dim result As Decimal = 0




Try

' Ciclo em todas as linhas
For Each row As DataGridViewRow In Me.TbllançamentoDataGridView.Rows
If Not row.IsNewRow Then

' Verifica se o valor é superior ao actual
If CStr(row.Cells(3).Value) > result Then
result = CStr(row.Cells(3).Value)
End If

End If
Next

Return result

Catch ex As Exception
Return 0

End Try
“ Try not to become a man of success but rather to become a man of value. ” The Helping Desk
© 1999-2025 Hardware.com.br. Todos os direitos reservados.
Imagem do Modal