Google
 
Diesen Blog abonnieren

Beliebte Posts

Samstag, 5. Dezember 2015

C# and mySQL Tutorial - Wie befülle ich eine Listbox?

Im letzten Beitrag wurde gezeigt, wie eine Combobox mit Datenbankwerten befüllt wird (grün) und wie die Werte anschliessend in Formularfelder übertragen werden (gelb). Bei der Listbox funktioniert alles genau gleich. Die nicht betrachteten Programmteile sind ausgeblendet.

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using MySql.Data.MySqlClient;
 
namespace First_C_Sharp_App
{
    public partial class Form2 : Form
    {
        MySqlConnection conDataBase;
        MySqlCommand cmdDataBase;
        MySqlDataReader myReader;
 
        public Form2()
        {
            InitializeComponent();
            FillCombo();
            FillListbox();
        }
 
        private static void OpenDatabase(string Query, out MySqlConnection conDataBase, out MySqlCommand cmdDataBase)
        {
            string myConnection = "datasource=localhost;port=3306; " +
            "username=root;password=xxx";
            conDataBase = new MySqlConnection(myConnection);
            cmdDataBase = new MySqlCommand(Query, conDataBase);
        }
 
        void FillListbox()
        {
            string Query = "Select * from database.edata ;";
            OpenDatabase(Query, out conDataBase, out cmdDataBase);
 
 
            try
            {
                conDataBase.Open();
                myReader = cmdDataBase.ExecuteReader();
 
                while (myReader.Read())
                {
                    string sName = myReader.GetString("name");
                    lstBox.Items.Add(sName);
                }
                cboAddString.Focus();
 
                conDataBase.Close();
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
 
 
 
        }
 
        void FillCombo()
        {
            
        }
 
        private void button1_Click(object sender, EventArgs e)
        {
            
           
            }
 
        private void btnUpdate_Click(object sender, EventArgs e)
        {
            
            
        }
 
        private void btnDelete_Click(object sender, EventArgs e)
        {
            
            
 
        }
 
        
 
        private void cboAddString_SelectedIndexChanged(object sender, EventArgs e)
        {
 
            
        }
 
        private void lstBox_SelectedIndexChanged(object sender, EventArgs e)
        {
            string Query = "Select * from database.edata where name='" + lstBox.Text + "';";
 
            OpenDatabase(Query, out conDataBase, out cmdDataBase);
            try
            {
                conDataBase.Open();
                myReader = cmdDataBase.ExecuteReader();
 
                while (myReader.Read())
                {
                    Eid_txt.Text = myReader.GetInt32("Eid").ToString();
                    Name_txt.Text = myReader.GetString("name");
                    Surname_txt.Text = myReader.GetString("surname");
                    Age_txt.Text = myReader.GetInt32("age").ToString();
 
                }
 
                conDataBase.Close();
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }
    }
    }
 

C# und mySQL Tutorial - Wie befülle ich eine Combobox?



In untenstehender Routine wird gezeigt, wie eine Combobox aus der Datenbank gefüllt (grün) und der selektierte Wert in die Felder geschrieben wird (gelb). Die dazu benötigte (leere) Funktion wird durch Doppelklick auf die Combobox erzeugt. Die Datenbankverbindung ist orange markiert.
Die hier nicht benötigten Funktionen aus den früheren Folgen sind ausgeblendet.


using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using MySql.Data.MySqlClient;
 
namespace First_C_Sharp_App
{
    public partial class Form2 : Form
    {
        MySqlConnection conDataBase;
        MySqlCommand cmdDataBase;
        MySqlDataReader myReader;
 
        public Form2()
        {
            InitializeComponent();
            FillCombo();
        }
 
        private static void OpenDatabase
             (string Query, out MySqlConnection conDataBase, 
               out MySqlCommand cmdDataBase)
        {
            string myConnection = "datasource=localhost;port=3306; " +
                "username=root;password=xxx";
            conDataBase = new MySqlConnection(myConnection);
            cmdDataBase = new MySqlCommand(Query, conDataBase);
        }
 
 
        void FillCombo()
        {
            string Query = "Select * from database.edata ;";
            OpenDatabase(Query, out conDataBase, out cmdDataBase);
                     
            
            try
            {
                conDataBase.Open();
                myReader = cmdDataBase.ExecuteReader();
 
                while (myReader.Read())
                {
                    string sName = myReader.GetString("name");
                    cboAddString.Items.Add(sName);
                }
                cboAddString.Focus();
 
                conDataBase.Close();
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
 
        }
 
        private void button1_Click(object sender, EventArgs e)
        {
        }
 
        private void btnUpdate_Click(object sender, EventArgs e)
        {

        }
 
        private void btnDelete_Click(object sender, EventArgs e)
        {
         
        }
 
  
 
        private void cboAddString_SelectedIndexChanged(object sender, EventArgs e)
        {
 
            string Query = "Select * from database.edata where name='" + cboAddString.Text + "';";
            
            OpenDatabase(Query, out conDataBase, out cmdDataBase);
            try
            {
                conDataBase.Open();
                myReader = cmdDataBase.ExecuteReader();
 
                while (myReader.Read())
                {
                    Eid_txt.Text = myReader.GetInt32("Eid").ToString();
                    Name_txt.Text = myReader.GetString("name");
                    Surname_txt.Text = myReader.GetString("surname");
                    Age_txt.Text = myReader.GetInt32("age").ToString();
 
                }
 
                conDataBase.Close();
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }
 
    }
    }

Freitag, 4. Dezember 2015

C# and mySQL Tutorial - Update and Delete


Will man Werte in der Datenbank ändern, so wird die Abfrage foglendermassen angepasst (gelb).
Löschen ist noch einfacher (grün).Dazu muss eine existierende Eid Nummer eingegeben und 'Delete' gedrückt werden.


using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using MySql.Data.MySqlClient;
 
namespace First_C_Sharp_App
{
    public partial class Form2 : Form
    {
        public Form2()
        {
            InitializeComponent();
        }
 
        private void button1_Click(object sender, EventArgs e)
        {
            string myConnection = "datasource=localhost;port=3306; " +
                                      "username=root;password=xxx";
            string Query = "insert into database.edata (Eid, name, surname, age) values('" 
                + this.Eid_txt.Text + "','" + this.Name_txt.Text + "','" + this.Surname_txt.Text 
                + "','" + this.Age_txt.Text + "');";
            MySqlConnection conDataBase = new MySqlConnection(myConnection);
            MySqlCommand cmdDataBase = new MySqlCommand(Query, conDataBase);
            MySqlDataReader myReader;
            try
            {
                conDataBase.Open();
                myReader = cmdDataBase.ExecuteReader();
                MessageBox.Show("Saved");
                
                conDataBase.Close();
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
 
 
            }
 
        private void btnUpdate_Click(object sender, EventArgs e)
        {
            string myConnection = "datasource=localhost;port=3306; " +
                                                  "username=root;password=xxx";
            string Query = "update database.edata set Eid='"
                + Eid_txt.Text + "',name='" + Name_txt.Text + "',surname='" 
                + Surname_txt.Text
                + "',age='" + Age_txt.Text + "' where Eid='" + Eid_txt.Text + "' ;";
            MySqlConnection conDataBase = new MySqlConnection(myConnection);
            MySqlCommand cmdDataBase = new MySqlCommand(Query, conDataBase);
            MySqlDataReader myReader;
            try
            {
                conDataBase.Open();
                myReader = cmdDataBase.ExecuteReader();
                MessageBox.Show("Updated");
 
                conDataBase.Close();
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }
 
        private void btnDelete_Click(object sender, EventArgs e)
        {
            string myConnection = "datasource=localhost;port=3306; " +
                                                 "username=root;password=xxx";
            string Query = "delete from database.edata where Eid='" 
                + Eid_txt.Text + "' ;";
            MySqlConnection conDataBase = new MySqlConnection(myConnection);
            MySqlCommand cmdDataBase = new MySqlCommand(Query, conDataBase);
            MySqlDataReader myReader;
            try
            {
                conDataBase.Open();
                myReader = cmdDataBase.ExecuteReader();
                MessageBox.Show("Deleted");
 
                conDataBase.Close();
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
 
        }
 
        
    }
    }
 
Die Änderungen beschränken sich im Wesentlichen auf den String 'Query'.

Donnerstag, 3. Dezember 2015

C# Tutorial - Eingabe von Werten in die Datenbank



Daten können folgendermassen in die Datenbank geschrieben werden:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using MySql.Data.MySqlClient;
 
namespace First_C_Sharp_App
{
    public partial class Form2 : Form
    {
        public Form2()
        {
            InitializeComponent();
        }
 
        private void button1_Click(object sender, EventArgs e)
        {
            string myConnection = "datasource=localhost;port=3306; " +
                                      "username=root;password=xyz";
            string Query = "insert into database.edata (Eid, name, surname, age) values('" 
                + this.Eid_txt.Text + "','" + this.Name_txt.Text + "','" + this.Surname_txt.Text 
                + "','" + this.Age_txt.Text + "');";
            MySqlConnection conDataBase = new MySqlConnection(myConnection);
            MySqlCommand cmdDataBase = new MySqlCommand(Query, conDataBase);
            MySqlDataReader myReader;
            try
            {
                conDataBase.Open();
                myReader = cmdDataBase.ExecuteReader();
                MessageBox.Show("Saved");
                
                conDataBase.Close();
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
 
 
            }
 
 
        }
    }
 

Mittwoch, 2. Dezember 2015

C# - Neues Fenster öffnen

Nach erfolgreichem Login soll typischerweise das Login Fenster verschwinden (Hide) und ein neues Fenster geöffnet werden (ShowDialog).
Dazu muss im Projektmappen Explorer ein neues Element (Window Form) hinzugefügt werden.
Der Code gemäss vorangegangenem Beispiel muss geringfügig ergänzt werden (gelb hinterlegt):

using System;
using System.Data;
using System.Windows.Forms;
using MySql.Data.MySqlClient;
 
 
 
namespace First_C_Sharp_App
{
    public partial class Login : Form
    {
        
        public Login()
        {
            InitializeComponent();
            password_txt.PasswordChar = '#';
        }
 
       
 
        private void btnLogin_Click(object sender, EventArgs e)
        {
            try
            {
                string myConnection = "datasource=localhost;port=3306; " +
                                      "username=root;password=xyz";
                MySqlConnection myConn = new MySqlConnection(myConnection);
                MySqlCommand SelectCommand = new MySqlCommand
                    ("select * from database.edata where user_name='" +
                         username_txt.Text + "' and password='" 
                         + password_txt.Text + "' ;", myConn);
                MySqlDataReader myReader;
                
                myConn.Open();
                myReader = SelectCommand.ExecuteReader();
                int count = 0;
                while (myReader.Read())
                {
                    count++;
                }
                if (count == 1)
                {
                    MessageBox.Show("Username und Password ist correct");
                    this.Hide();
                    Form2 f2 = new Form2();
                    f2.ShowDialog();
 
                }
                else if (count>1)
                {
                    MessageBox.Show
                        ("Duplicate Username and password ... Access denied");
                }
                else
                {
                    MessageBox.Show
                        ("Username or password not correct ... Please try again");
                } 
                
                myConn.Close();
 
 
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
 
            }
 
        }
    }
}