Click here to Skip to main content
15,891,864 members
Please Sign up or sign in to vote.
1.00/5 (3 votes)
See more:
when i run this code, i am getting :

Severity	Code	Description	Project	File	Line	Suppression State
Error	CS5001	Program does not contain a static 'Main' method suitable for an entry point	database	C:\Users\Admin\Desktop\VisualStudio\database\database\CSC	1	Active





using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

using MySql.Data.MySqlClient;

using System.Diagnostics;


using System.IO;



namespace connect
{

    class DBConnect
    {
        private MySqlConnection connection;
        private string server;
        private string database;
        private string uid;
        private string password;

        //Constructor
        public DBConnect()
        {
            Initialize();
        }

        //Initialize values
        private void Initialize()
        {
            server = "localhost";
            database = "first_db";
            uid = "root";
            password = "";
            string connectionString;
            connectionString = "SERVER=" + server + ";" + "DATABASE=" +
            database + ";" + "UID=" + uid + ";" + "PASSWORD=" + password + ";";

            connection = new MySqlConnection(connectionString);

            this.display();

        }


        // displays the database

        public void display()
        {

            // a is the number of rows 
            int a = -1;

            a = this.Countrows();

            //Console.WriteLine(a);


            // b is the number of columns
            int b = this.Countcolumns();

            //Console.WriteLine(b);


            //create a new list with 3 columns , b = 3; b is the number of columns 
            List<string>[] newlist = new List<string>[b];


            // this.Select() fetches the dataset, set it to equal to newlist 
            newlist = this.Select();


            Console.WriteLine("Id" + " " + "username" + " " + "password");

            for (int j = 0; j < a; j++) // iterate through each row; a is total number of rows 
            {


                for (int i = 0; i < b; i++) // ITERATE THROUGH EACH COLUMN  ; b is total number of columns
                {
                    Console.Write(newlist[i][j] + " ");


                }
                // for each  row of obsv..write a new line
                Console.WriteLine();
            }


        }


        //open connection to database
        public bool OpenConnection()
        {

            try
            {
                connection.Open();

                Console.WriteLine("connection opened");

                return true;
            }
            catch (MySqlException ex)
            {
                //When handling errors, you can your application's response based 
                //on the error number.
                //The two most common error numbers when connecting are as follows:
                //0: Cannot connect to server.
                //1045: Invalid user name and/or password.
                switch (ex.Number)
                {
                    case 0:
                        Console.WriteLine("Cannot connect to server.  Contact administrator");
                        break;

                    case 1045:
                        Console.WriteLine("Invalid username/password, please try again");
                        break;
                }
                return false;
            }



        }

        //Close connection
        public bool CloseConnection()
        {
            try
            {
                connection.Close();

                Console.WriteLine("connection closed");
                return true;
            }
            catch (MySqlException ex)
            {
                Console.WriteLine(ex.Message);
                return false;
            }



        }



        //Insert statement
        public void Insert()
        {

            string query = "INSERT INTO users (id, username, password) VALUES('23' ,'Jojo', '33')  , ('99', 'jen', '66')";

            //open connection
            if (this.OpenConnection() == true)
            {
                //create command and assign the query and connection from the constructor
                MySqlCommand cmd = new MySqlCommand(query, connection);

                Console.WriteLine("values inserted");



                //Execute command
                cmd.ExecuteNonQuery();

                //close connection
                this.CloseConnection();
            }

        }





        //Update statement
        public void Update()
        {

            string query = "UPDATE users SET username='Joe', password='22', id='33'  WHERE username='Joe'";

            //Open connection
            if (OpenConnection() == true)
            {
                //create mysql command
                MySqlCommand cmd = new MySqlCommand();
                //Assign the query using CommandText
                cmd.CommandText = query;
                //Assign the connection using Connection
                cmd.Connection = connection;

                //Execute query
                cmd.ExecuteNonQuery();

                //close connection
                this.CloseConnection();
            }



        }




        //Delete statement
        public void Delete()
        {

            string query = "DELETE FROM users WHERE username='Joe'";

            if (this.OpenConnection() == true)
            {
                MySqlCommand cmd = new MySqlCommand(query, connection);
                cmd.ExecuteNonQuery();
                this.CloseConnection();
            }


        }




        //Select statement
        public List<string>[] Select()
        {
            string query = "SELECT * FROM users";

            //Create a list of 3 elements to store the result
            List<string>[] list = new List<string>[3];


            // each element of list is a new list of strings
            list[0] = new List<string>();
            list[1] = new List<string>();
            list[2] = new List<string>();

            //Open connection, running OpenConnection() will open the connection



            if (this.OpenConnection() == true)
            {
                //Create Command
                MySqlCommand cmd = new MySqlCommand(query, connection);
                //Create a data reader and Execute the command
                MySqlDataReader dataReader = cmd.ExecuteReader();

                //Read the data and store them in the list        
                // iterate through each row... dataReader.Read will get the data for each row...
                while (dataReader.Read())
                {

                    // iterate through each column, add the id , username, password list[0] is column1 which is id, list[1] IS COLUMN2 WHICH IS USERNAME... list[0][0]  element column 1 , row 1 

                    list[0].Add(dataReader["id"] + "");
                    list[1].Add(dataReader["username"] + "");
                    list[2].Add(dataReader["password"] + "");
                }

                //close Data Reader
                dataReader.Close();

                //close Connection
                this.CloseConnection();

                //return list to be displayed
                return list;
            }
            else
            {
                return list;
            }

        }



        //Count statement
        public int Countrows()
        {
            string query = "SELECT Count(*) FROM users";
            int Count = -1;

            //Open Connection
            if (this.OpenConnection() == true)
            {
                //Create Mysql Command
                MySqlCommand cmd = new MySqlCommand(query, connection);

                //ExecuteScalar will return one value
                Count = int.Parse(cmd.ExecuteScalar() + "");

                //close Connection
                this.CloseConnection();

                return Count;
            }
            else
            {
                return Count;
            }

        }




        public int Countcolumns()
        {

            string query = "SELECT Count(*) FROM INFORMATION_SCHEMA.COLUMNS  WHERE table_schema = 'first_db'  AND table_name = 'users'";
            int Count = -1;

            //Open Connection
            if (this.OpenConnection() == true)
            {
                //Create Mysql Command
                MySqlCommand cmd = new MySqlCommand(query, connection);

                //ExecuteScalar will return one value
                Count = int.Parse(cmd.ExecuteScalar() + "");

                //close Connection
                this.CloseConnection();

                return Count;
            }
            else
            {
                return Count;
            }

        }


        /*
        //Backup
        public void Backup()
        {
            try
            {
                DateTime Time = DateTime.Now;
                int year = Time.Year;
                int month = Time.Month;
                int day = Time.Day;
                int hour = Time.Hour;
                int minute = Time.Minute;
                int second = Time.Second;
                int millisecond = Time.Millisecond;

                //Save file to C:\ with the current date as a filename
                string path;
                path = "C:\\MySqlBackup" + year + "-" + month + "-" + day +
            "-" + hour + "-" + minute + "-" + second + "-" + millisecond + ".sql";
                StreamWriter file = new StreamWriter(path);


                ProcessStartInfo psi = new ProcessStartInfo();
                psi.FileName = "mysqldump";
                psi.RedirectStandardInput = false;
                psi.RedirectStandardOutput = true;
                psi.Arguments = string.Format(@"-u{0} -p{1} -h{2} {3}",
                    uid, password, server, database);
                psi.UseShellExecute = false;

                Process process = Process.Start(psi);

                string output;
                output = process.StandardOutput.ReadToEnd();
                file.WriteLine(output);
                process.WaitForExit();
                file.Close();
                process.Close();
            }
            catch (IOException ex)
            {
                Console.WriteLine("Error , unable to backup!");

                Console.WriteLine("ex.message");
            }



        }



        /*
        //Restore
        public void Restore()
        {
        }
         * 
          */
    }






}


What I have tried:

This is something , i have no concept of as i am completely new to C#.
Posted
Updated 20-Dec-19 8:09am
Comments
CHill60 31-Aug-17 7:06am    
If you were trying to create a program then use the correct template for either WinForm or Console program. This is just a class.
Instead of trying to learn C# by asking questions here, get hold of a tutorial or a book.
Karthik_Mahalingam 31-Aug-17 7:21am    
create a main method and create an instance for the class 'DBConnect'
Thomas Nielsen - getCore 1-Sep-17 2:59am    
See originalgriff's explenation

This is a class, not an application - and you can't execute a class on it's own because the system doesn't know where to begin.

And executable program needs a specific method to call - it's called "Main" and it must be a static method:
C#
static void Main(string[] args)
    {
    ...
    }

If that doesn't exist, you can't run the code!
 
Share this answer
 
The compiler can't find the Main() method, just as the error message says. This method is the starting point of your program and is required.

If you are new, it may really be a good idea to take the advice from the comment above and look at a tutorial. There you will be shown how to start a new solution and what to do with the Main() method, which is pregenerated by VisualStudio.
 
Share this answer
 
v2
This problem is C# 101 level, you need to find tutorials to learn the basics of C#.
C# Tutorials (C#)[^]
C# Tutorial - YouTube[^]
C# Tutorial[^]
 
Share this answer
 

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900