Jump to content

Recommended Posts

Posted

Boas estou a fazer um questionário e gostaria de saber como faço para no campo onde se vai digitar o telemovel apenas ser possivel colocar numeros.

Alguem pode ajudar?

obrigado 😁

Posted

Podes usar uma máscara ou então apanhas o evento de key down e só deixas passar algarismos.

10 REM Generation 48K!
20 INPUT "URL:", A$
30 IF A$(1 TO 4) = "HTTP" THEN PRINT "400 Bad Request": GOTO 50
40 PRINT "404 Not Found"
50 PRINT "./M6 @ Portugal a Programar."

 

Posted

A TextBox tem o evento chamado KeyPress, implementas esse evento e usa este código:

            
if ((int)e.KeyChar < 48 || (int)e.KeyChar > 57) //verifica se a tecla pressionada é um algarismo
        e.Handled = true;
Posted

Esse erro ocorre porque estás a tentar inserir um tipo de dados incorrecto na base de dados.

Por exemplo, um campo que está definido como sendo do tipo int e estás-lhe a passar uma string.

Provavelmente é do campo numérico da textbox que falaste. Estás depois a converte-lo para int ou estás a passar como string? (isto claro, se a tua bd está à espera de um int em vez de uma string)

Posted

A TextBox tem o evento chamado KeyPress, implementas esse evento e usa este código:

            
if ((int)e.KeyChar < 48 || (int)e.KeyChar > 57) //verifica se a tecla pressionada é um algarismo
        e.Handled = true;

mas eu neste momento estou a usar uma maskedtextbox k m da mais geito por causa da data....

esse comando lá certamente n vai fazer nd ne ?

Posted

Sim, o código que te mostrei só funciona para algarismos. Mas podes colocar qualquer outro caracter a passar no if.  Se consultares uma tabela ASCII poderás ver que o caracter '/' (um separador utilizado em datas) tem o valor 47, portanto é só mudares de

(int)e.KeyChar < 48

para

(int)e.KeyChar<47.

De qualquer forma, para trabalhares com datas podes usar um DateTimePicker, é bem mais prático e visual e interactivamente mais agradável. E se tiveres que pegar nessa data e inseri-la numa bd, já tens a data como sendo do tipo de dados DateTime.

Posted

Esse erro ocorre porque estás a tentar inserir um tipo de dados incorrecto na base de dados.

Por exemplo, um campo que está definido como sendo do tipo int e estás-lhe a passar uma string.

Provavelmente é do campo numérico da textbox que falaste. Estás depois a converte-lo para int ou estás a passar como string? (isto claro, se a tua bd está à espera de um int em vez de uma string)

a mnh bd esta a espera de uma string. ate pk antes de eu colocar a masked tinha uma TextBox normal e funcionava. Apenas n conseguia seperar os numeros das letras.

Posted

Sim, o código que te mostrei só funciona para algarismos. Mas podes colocar qualquer outro caracter a passar no if.  Se consultares uma tabela ASCII poderás ver que o caracter '/' (um separador utilizado em datas) tem o valor 47, portanto é só mudares de

(int)e.KeyChar < 48

para

(int)e.KeyChar<47.

De qualquer forma, para trabalhares com datas podes usar um DateTimePicker, é bem mais prático e visual e interactivamente mais agradável. E se tiveres que pegar nessa data e inseri-la numa bd, já tens a data como sendo do tipo de dados DateTime.

a data será uma data de nascimento k o utilizador vai inserir. mas obrigado na mesma! vai m ser util.

Posted

a mnh bd esta a espera de uma string. ate pk antes de eu colocar a masked tinha uma TextBox normal e funcionava. Apenas n conseguia seperar os numeros das letras.

podes mostrar a query que está a dar problemas?

Posted

Se tens isto mesmo assim

if (comInsSocio.ExecuteNonQuery() = 1)

deve estar a dar erro de compilação, porque é == e não =, mas deve ter sido a copiar para aqui.

Bom, mas o que eu queria ver não era isso, mas sim a consulta Sql, o Insert que estás a fazer.

Posted

estou a usar access 2007

comInsSocio.CommandText = @"INSERT INTO socios (Telefone) VALUES (@telefone)",

comInsSocio.Parameters.Add("@telefone", OleDbType.VarWChar);

comInsSocio.Parameters["@telefone].Value = txtTelefone.Text;

if (connBDInsSocios.State == ConnectionState.Closed)
  connBDSocios.Open();
Posted

Aparentemente não vejo nada de erro.

Tens algum campo que seja not null? Se assim for, terás que os adicionar à consulta.

Se não for o caso, experimenta a mudar para o seguinte:

comInsSocio.CommandText = @"INSERT INTO socios (Telefone) VALUES (@telefone)",
comInsSocio.Parameters.AddWithValue("@telefone", txtTelefone.Text);
Posted

Aparentemente não vejo nada de erro.

Tens algum campo que seja not null? Se assim for, terás que os adicionar à consulta.

Se não for o caso, experimenta a mudar para o seguinte:

comInsSocio.CommandText = @"INSERT INTO socios (Telefone) VALUES (@telefone)",
comInsSocio.Parameters.AddWithValue("@telefone", txtTelefone.Text);

continua com o mesmo erro...

tu kerias k eu colocasse "AddWithValue" em "comInsSocio.Parameters.Add("@telefone", OleDbType.VarWChar);"

ou

comInsSocio.Parameters["@telefone].Value = txtTelefone.Text;

?

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.