Ajuda & Dúvidas - Trabalho para cadeira de Programação

JDASOUSA

Power Member
Boas pessoal.
Eu tenho que fazer um trabalho para uma especie de gerente de um video club para a minha cadeira de Programação.
Só que estou com problemas em relação à base de dados.
Eu fiz o que esta nestes dois link (para o botão inserir novo cliente) Inserir e Pesquisar (pesquisar na base de dados).
Porém estou com problemas, pois o programa qd carrego no botão cliente para abrir o formulário Clientes ele crasha.
Alguém pode-me ajudar?

Nota: Lianguagem c#
 
qual é a mensagem de erro que te aparece, e em que parte da linha de código?
coloca alguns breakpoints e vai fazendo step-by-step quando achares que estás perto das linhas onde está a dar erro.

O teu problema é demasiado genérico para poder dizer mais alguma coisa
 
Boas.
Algumas partes já consegui.
Vou por os passos que já consegui:
Código:
Botão novo Cliente:
            if (txtNome.Text != "" & txtEmail.Text != "") //Caso as Caixas de Texto não estajam vazias (!= significa diferente de)
            {
                con.Open();
                SqlCommand cmd = con.CreateCommand();
                cmd.CommandType = CommandType.Text;
                cmd.CommandText = "INSERT INTO Clientes(NomeCliente,EmailCliente) values(@nome,@email)";
                cmd.Parameters.AddWithValue("@nome", txtNome.Text);
                cmd.Parameters.AddWithValue("@email", txtEmail.Text);
                cmd.ExecuteNonQuery();
                con.Close();
                ClearData();
                disp_data();
                MessageBox.Show("Cliente gravado com sucesso!", "Operação Realizada com Sucesso", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
            else if(txtEmail.Text =="" & txtNome.Text == "") //Caixas de texto vazias
            {
                MessageBox.Show("Preencha os campos Nome & Email!", "Atenção", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
            else if (txtEmail.Text == "@")
            {
Para o botão adicionar novo cliente só não consegui colocar um if a verificar se a txtEmail contém @, para dizer se o email é valido ou não.

Eu para que a base de dados aparecesse na datagridview fiz o seguinte:
Código:
 public void disp_data() //Função para mostrar os dados no DataGridView
        {
            con.Open();
            SqlCommand cmd = con.CreateCommand();
            cmd.CommandType = CommandType.Text;
            cmd.CommandText = "SELECT * FROM Clientes";
            cmd.ExecuteNonQuery();
            DataTable dt = new DataTable();
            SqlDataAdapter da = new SqlDataAdapter(cmd);
            da.Fill(dt);
            dgvClientes.DataSource = dt;
            con.Close();
        }
Só que agora queria renomear o título das colunas do datagridview, em vez de ficar idCliente (bd) ficar Nº de Cliente. É possível?
 
'&' e '|' são comparadores bitwise (and, or, xor, etc), '&&' e '||' são comparadores lógicos, faz muita diferença, principalmente para o '&&' já que ao falhar o 1º já não vai testar o 2º.

Para saberes se o texto contém um '@' deves usar a função 'Contains' das strings de C#, muito melhor seria usares uma expressão regular para validares o e-mail

Provavelmente devias ler mais o manual de c# para perceberes como funciona a linguagem e as suas bibliotecas.
 
'&' e '|' são comparadores bitwise (and, or, xor, etc), '&&' e '||' são comparadores lógicos, faz muita diferença, principalmente para o '&&' já que ao falhar o 1º já não vai testar o 2º.

Para saberes se o texto contém um '@' deves usar a função 'Contains' das strings de C#, muito melhor seria usares uma expressão regular para validares o e-mail

Provavelmente devias ler mais o manual de c# para perceberes como funciona a linguagem e as suas bibliotecas.

Desde já obrigado.
Sim quando esta época de exames vou ler sobre c# para aprender mais.
Eu estou a frequentar um CTeSP, só que como a turma não tem grande interesse ainda estamos em coisas mais básicas, porém eu queria mesmo aprender.
Obrigado.
 
Desde já obrigado.
Sim quando esta época de exames vou ler sobre c# para aprender mais.
Eu estou a frequentar um CTeSP, só que como a turma não tem grande interesse ainda estamos em coisas mais básicas, porém eu queria mesmo aprender.
Obrigado.
Também estou a tirar um curso desses e também aprendemos c#. Qualquer coisa apita!

'&' e '|' são comparadores bitwise (and, or, xor, etc), '&&' e '||' são comparadores lógicos, faz muita diferença, principalmente para o '&&' já que ao falhar o 1º já não vai testar o 2º.

Para saberes se o texto contém um '@' deves usar a função 'Contains' das strings de C#, muito melhor seria usares uma expressão regular para validares o e-mail

Provavelmente devias ler mais o manual de c# para perceberes como funciona a linguagem e as suas bibliotecas.

Que manual de C# recomendas?

Obrigado
 
Boas.
tentei fazer um formulário de login com o seguinte código:
Código:
            if(txtPass.Text==""& txtUser.Text=="")//Campos vazios
        {
            MessageBox.Show("Por favor preencha os dados de login!","Atenção!",MessageBoxButtons.OK,MessageBoxIcon.Error);
            txtUser.Focus();
        }
        elseif(txtPass.Text=="")//txtPass vazia
        {
            MessageBox.Show("Campo Password vazio!","Atenção!",MessageBoxButtons.OK,MessageBoxIcon.Error);
            txtPass.Text="";
            txtUser.Focus();
        }
        elseif(txtUser.Text=="")//txtuser vazia
        {
            MessageBox.Show("Campo Utilziador vazio!","Atenção!",MessageBoxButtons.OK,MessageBoxIcon.Error);
            txtUser.Text="";
            txtPass.Focus();
        }


        try
        {
            con.Open();
            string user = txtUser.Text;
            string pass = txtPass.Text;
            SqlCommand cmd =newSqlCommand("SELECT * FROM Login WHERE User='"+ txtUser.Text+"' AND Pass ='"+ txtPass.Text+"'", con);
            SqlDataAdapter da =newSqlDataAdapter(cmd);
            DataTable dt =newDataTable();
            da.Fill(dt);
            if(dt.Rows.Count==1)
            {
                this.Hide();
                //Abre Form Geral caso os dados do Login estejam certos
                Form1 btHome =newForm1();
                btHome.Show();

            }
        }
        catch(Exception error)
        {
            MessageBox.Show(error.Message,"ERRO!",MessageBoxButtons.OK,MessageBoxIcon.Error);
        }
        finally
        {
            if(con !=null)
            {
                con.Close();
            }
        }

Porém não funciona.
Alguém pode me ajudar por favor?
 
Já resolvi o problema do login, usei outro código, mas o erro era que faltava as [] em: SELECT COUNT(ID) FROM [Login] WHERE [User] = @user AND [Pass]= @pass
 
Back
Topo