Jump to content
ruiecsantos

Programa de Stock

Recommended Posts

ruiecsantos

Pretendo fazer uma aplicação urgente, só para escola !

A aplicação deve ter como suporte uma base de dados MySQL onde seja possível registar os

dados dos clientes e dos produtos.

Deve possuir um menu de administração que permita gerir os produtos e os clientes.

Os clientes devem poder registar-se e adquirir produtos com stock existente mediante acesso

à aplicação via palavra chave.

Os produtos podem ser objecto de pesquisa e devem estar agrupados por tipo.

deve-se definir a estrutura da base de dados a criar (tabelas), deve-se codificar a

aplicação em linguagem de programação C# orientada a objetos e criar uma aplicação com sistema

de menus de formulário do Windows

è possivel encontrar em algum lado algo do genero! ou alguem me ajuda a fazer ??


Rui Santos

Share this post


Link to post
Share on other sites
softklin

Aqui ninguém pode fazer os teus trabalhos, por isso recomendo-te a colocares dúvidas concretas, por exemplo, em que parte ficaste encravado, para que te possamos ajudar.

Se ainda não fizeste nada, podes começar por pensar a estrutura de tabelas.


Nick antigo: softclean | Tens um projeto? | Wiki P@P

Ajuda a comunidade! Se encontrares algo de errado, usa a opção "Denunciar" por baixo de cada post.

Share this post


Link to post
Share on other sites
ruiecsantos

Obrigados aos dois!

Foi uma grande ajuda Etiqueta!

Gostaria de meter uma pequena autenticação , mas ao criar a classe primária de atenticação não sei como fazer passa-lo de um form para outro Form!

Obrigado


Rui Santos

Share this post


Link to post
Share on other sites
ruiecsantos

ya ! se podes agradeço! posso mandar-te o que ja tenho tá um grande confusão mas posso mandar-te


Rui Santos

Share this post


Link to post
Share on other sites
Etiqueta

primeiro criei uma classe UTIL

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Data.SqlClient;
using System.Data;

namespace MPVconsultores
{

        static class UTIL
        {
            public static Boolean _modoLigado = true;
            public static String _connectionSTRING = String.Empty;
            public static SqlConnection _minhaLigacaoSQL;

            /// <summary>
            /// Método para criar uma Ligação ao SQLServer.
            /// Precisa que o Atributo _connectionSTRING esteja preenchido
            /// </summary>
            /// <returns>True ou False, conforme se tenha conseguido criar uma ligação</returns>
            public static Boolean _criarLigacaoSQL()
            {
                Boolean _estado = false;
                try
                {
                    _minhaLigacaoSQL = new SqlConnection(_connectionSTRING);
                    _estado = true;
                    _modoLigado = true;
                }
                catch (Exception _ex)
                {
                    _estado = false;
                    _modoLigado = false;
                    MessageBox.Show(String.Format("Erro: {0}", _ex.Message));
                }
                return _estado;
            }

            /// <summary>
            /// Método para carragar registos via SQL para um objecto DataTable
            /// </summary>
            /// <param name="_expressaoSQL">"Instrução SQL - Exemplo: "Select * From....""</param>
            /// <param name="_CampoChave">O Campo Chave da Tabela</param>
            /// <param name="_adaptadorSQL">um Objecto SqlDataAdapter</param>
            /// <returns>Um dataTable com os registos lidos no SQL</returns>
            public static DataTable _carregarRegistos_viaSQL(String _expressaoSQL, String _CampoChave, SqlDataAdapter _adaptadorSQL)
            {
                if (_minhaLigacaoSQL == null)
                    _criarLigacaoSQL();

                DataTable _umaTabela = new DataTable();
                try
                {
                    SqlCommand _instrucaoSQL = new SqlCommand(_expressaoSQL, _minhaLigacaoSQL);
                    _adaptadorSQL = new SqlDataAdapter(_instrucaoSQL);

                    _adaptadorSQL.Fill(_umaTabela);

                    _adaptadorSQL.FillSchema(_umaTabela, SchemaType.Mapped);
                    //_umaTabela.Columns[_CampoChave].AutoIncrementSeed = -1;
                    //_umaTabela.Columns[_CampoChave].AutoIncrementStep = -1;

                }
                catch (SqlException _ex)
                {
                    MessageBox.Show(String.Format("Erro: {0}", _ex.Message));
                }
                return _umaTabela;
            }

            /// <summary>
            /// Escrever um ficheiro XML com os registos e estrutura da tabela recebida
            /// </summary>
            /// <param name="_tab">Objecto DataTable com os registos</param>
            /// <param name="_nomeDS">Nome do ficheiro XML</param>
            public static void _escreverXML(DataTable _tab, String _nomeDS)
            {
                using (DataSet _DS_temporario = new DataSet(_nomeDS))
                {
                    if (_tab != null)
                    {
                        try
                        {
                            _DS_temporario.Tables.Add(_tab.Copy());
                            _DS_temporario.WriteXml(_nomeDS, XmlWriteMode.WriteSchema);
                        }
                        catch (Exception _ex)
                        {
                            MessageBox.Show(String.Format("Erro: {0}", _ex.Message));
                        }
                    }
                }
            }

            /// <summary>
            /// Ler um ficheiro XML e retornar a tabela lida - DataTable
            /// </summary>
            /// <param name="_nomeDS">Nome do ficheiro XML</param>
            /// <returns>Um Datatable lido em XML</returns>
            public static DataTable _lerXML(String _nomeDS, String _CampoChave)
            {
                using (DataSet _DS_temporario = new DataSet(_nomeDS))
                {
                    try
                    {
                        _DS_temporario.ReadXml(_nomeDS, XmlReadMode.Auto);
                        _DS_temporario.Tables[0].Columns[_CampoChave].AutoIncrementSeed = -1;
                        _DS_temporario.Tables[0].Columns[_CampoChave].AutoIncrementStep = -1;
                        return _DS_temporario.Tables[0].Copy();
                    }
                    catch (Exception _ex)
                    {
                        MessageBox.Show(String.Format("Erro: {0}", _ex.Message));
                        return null;
                    }
                }
            }
        }

    }

criei o DataSet

aqui tens o código do form de autenticação

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Data.SqlClient;

namespace MPVconsultores
{
    public partial class Autenticacao : Form
    {
        String _instrucaoSQL = "Select * from Utilizadores";
        DataTable _umaTabela;
        SqlDataAdapter _adaptadorSQL;

        public Autenticacao()
        {
            InitializeComponent();
        }

        private void utilizadoresBindingNavigatorSaveItem_Click(object sender, EventArgs e)
        {
            this.Validate();
            this.utilizadoresBindingSource.EndEdit();
            this.tableAdapterManager.UpdateAll(this.dataSetUtilizadores);

        }

        private void Autenticacao_Load(object sender, EventArgs e)
        {
            //userTextBox.Text = "";
            //passwordTextBox.Text = "";

            userTextBox.Text = String.Empty;
            passwordTextBox.Text = String.Empty;
            
            // Usa a Base de Dados
            // Atenção ao Initial Catalog, User ID, Password
            UTIL._connectionSTRING = @"Data Source=.;Initial Catalog=Prog_Gestão;User ID=sa;Password=123";
            UTIL._criarLigacaoSQL();

            SqlCommand _comandoSQL = new SqlCommand(_instrucaoSQL, UTIL._minhaLigacaoSQL);
            _adaptadorSQL = new SqlDataAdapter(_comandoSQL);
            _umaTabela = UTIL._carregarRegistos_viaSQL(_instrucaoSQL, "[user]", _adaptadorSQL);
            // Associar Objectos do Interface do FORM 
            utilizadoresBindingSource.DataSource = _umaTabela;
            
            // TODO: This line of code loads data into the 'dataSetUtilizadores.Utilizadores' table. You can move, or remove it, as needed.
            
            this.utilizadoresTableAdapter.Fill(this.dataSetUtilizadores.Utilizadores);
            
            // TODO: This line of code loads data into the 'dataSetMPV.Utilizadores' table. You can move, or remove it, as needed.
            this.utilizadoresTableAdapter.Fill(this.dataSetUtilizadores.Utilizadores);

            

        }

        private void utilizadoresBindingNavigatorSaveItem_Click_1(object sender, EventArgs e)
        {
            this.Validate();
            this.utilizadoresBindingSource.EndEdit();
            this.tableAdapterManager.UpdateAll(this.dataSetUtilizadores);

        }

        private void button1_Click(object sender, EventArgs e)
        {
            String _comandoSQL = String.Format("Select count(*) From Utilizadores Where [user] = '{0}' And Password = '{1}'", userTextBox.Text, passwordTextBox.Text);
            SqlConnection conn = new SqlConnection(UTIL._connectionSTRING);
            SqlCommand comm = new SqlCommand(_comandoSQL, conn);

            conn.Open();
            int i = (int)comm.ExecuteScalar();

            // Se i for maior que zero é porque achou o utilizador/senha, senao não achou
            if (i > 0)
                MessageBox.Show("Login efectuado com sucesso");
            else
                MessageBox.Show("Utilizador ou Senha incorretos");

            conn.Close();

            Logotipos _novoForm = new Logotipos();
            _novoForm.Show();
            this.Close();
            
        }
    }
}

espero que seja isso

Share this post


Link to post
Share on other sites
ruiecsantos

tenho isto!

classe utilizador

using System;

namespace ExemploAutenticacao
{
    class Utilizador
    {
        private String username;
        private String password;

        public Utilizador()
        {
            this.setNomeUtilizador("");
            this.setSenhaUtilizador("");
        }

        public Utilizador(String util, String pass)
        {
            this.setNomeUtilizador(util);
            this.setSenhaUtilizador(pass);
        }

        public String getNomeUtilizador() { return this.username; }

        public String getSenhaUtilizador() { return this.password; }

        public void setNomeUtilizador(String util) { this.username=util; }

        public void setSenhaUtilizador(String pass) { this.password=pass; }

    }
}

e uma form

namespace CSMySQL1
{
    partial class Form2
  
    {
        /// <summary>
        /// Required designer variable.
        /// </summary>
        private System.ComponentModel.IContainer components = null;

        /// <summary>
        /// Clean up any resources being used.
        /// </summary>
        /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
        protected override void Dispose(bool disposing)
        {
            if (disposing && (components != null))
            {
                components.Dispose();
            }
            base.Dispose(disposing);
        }

        #region Windows Form Designer generated code

        /// <summary>
        /// Required method for Designer support - do not modify
        /// the contents of this method with the code editor.
        /// </summary>
        private void InitializeComponent()
        {
            this.label1 = new System.Windows.Forms.Label();
            this.label2 = new System.Windows.Forms.Label();
            this.textBox1 = new System.Windows.Forms.TextBox();
            this.maskedTextBox1 = new System.Windows.Forms.MaskedTextBox();
            this.button1_Click = new System.Windows.Forms.Button();
            this.SuspendLayout();
            // 
            // label1
            // 
            this.label1.AutoSize = true;
            this.label1.Location = new System.Drawing.Point(25, 24);
            this.label1.Name = "label1";
            this.label1.Size = new System.Drawing.Size(97, 13);
            this.label1.TabIndex = 0;
            this.label1.Text = "Nome do utilizador:";
            // 
            // label2
            // 
            this.label2.AutoSize = true;
            this.label2.Location = new System.Drawing.Point(25, 59);
            this.label2.Name = "label2";
            this.label2.Size = new System.Drawing.Size(98, 13);
            this.label2.TabIndex = 1;
            this.label2.Text = "Palavra de acesso:";
            // 
            // textBox1
            // 
            this.textBox1.Location = new System.Drawing.Point(128, 21);
            this.textBox1.Name = "textBox1";
            this.textBox1.Size = new System.Drawing.Size(176, 20);
            this.textBox1.TabIndex = 2;
            // 
            // maskedTextBox1
            // 
            this.maskedTextBox1.Location = new System.Drawing.Point(129, 56);
            this.maskedTextBox1.Name = "maskedTextBox1";
            this.maskedTextBox1.Size = new System.Drawing.Size(175, 20);
            this.maskedTextBox1.TabIndex = 3;
            // 
            // button1_Click
            // 
            this.button1_Click.Location = new System.Drawing.Point(107, 96);
            this.button1_Click.Name = "button1_Click";
            this.button1_Click.Size = new System.Drawing.Size(105, 23);
            this.button1_Click.TabIndex = 4;
            this.button1_Click.Text = "Autentica";
            this.button1_Click.UseVisualStyleBackColor = true;
            // 
            // Form2
            // 
            this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
            this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
            this.ClientSize = new System.Drawing.Size(351, 155);
            this.Controls.Add(this.button1_Click);
            this.Controls.Add(this.maskedTextBox1);
            this.Controls.Add(this.textBox1);
            this.Controls.Add(this.label2);
            this.Controls.Add(this.label1);
            this.Name = "Form2";
            this.Text = "Autenticação";
            this.ResumeLayout(false);
            this.PerformLayout();

        }

        #endregion

        private System.Windows.Forms.Label label1;
        private System.Windows.Forms.Label label2;
        private System.Windows.Forms.TextBox textBox1;
        private System.Windows.Forms.MaskedTextBox maskedTextBox1;
        private System.Windows.Forms.Button button1_Click;
    }
}


Rui Santos

Share this post


Link to post
Share on other sites

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.