C#-mySQL连接程序的简单数据库,其中1个表执行基本操作

时间:2012-06-09 14:30:42

标签: c# mysql .net

我正在复制我的程序代码(VS 2008)。我是初学者,我创建了一个数据库测试,其中包含1个表emp,其中包含3个字段e_name,e_id,age。调试.cs文件后,我得到错误 - 不包含适用入口点的静态'main'方法。你能帮帮我吗?

using System;
using System.Collections.Generic;
using System.Linq;
using System.Windows.Forms;
using MySql.Data.MySqlClient;

namespace ConnectCsharppToMySQL
{
    public  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 = "test";
            uid = "root";
            password = "";
            string connectionString;
            connectionString = "SERVER=" + server + ";" + "DATABASE=" +
            database + ";" + "UID=" + uid + ";" + "PASSWORD=" + password + ";";

            connection = new MySqlConnection(connectionString);
        }

        //open connection to database
        private bool OpenConnection()
        {
            try
            {
                connection.Open();
                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:
                        MessageBox.Show("Cannot connect to server.  Contact administrator");
                        break;

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

        //Close connection
        private bool CloseConnection()
        {
            try
            {
                connection.Close();
                return true;
            }
            catch (MySqlException ex)
            {
                MessageBox.Show(ex.Message);
                return false;
            }
        }

        //Insert statement
        public void Insert()
        {
            string query = "INSERT INTO emp (e_name, age) VALUES('Pooja R', '21')";

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

                //Execute command
                cmd.ExecuteNonQuery();

                //close connection
                this.CloseConnection();
            }
        }

        //Update statement
        public void Update()
        {
            string query = "UPDATE emp SET e_name='Peachy', age='22' WHERE name='Pooja R'";

            //Open connection
            if (this.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 tableinfo WHERE name='John Smith'";

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


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

            //Create a list to store the result
            List<string>[] list = new List<string>[3];
            list[0] = new List<string>();
            list[1] = new List<string>();
            list[2] = new List<string>();

            //Open 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
                while (dataReader.Read())
                {
                    list[0].Add(dataReader["e_id"] + "");
                    list[1].Add(dataReader["e_name"] + "");
                    list[2].Add(dataReader["age"] + "");
                }

                //close Data Reader
                dataReader.Close();

                //close Connection
                this.CloseConnection();

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


        public static void main(String[] args)
        {
            DBConnect db1 = new DBConnect();
            Console.WriteLine("Initializing"); 
            db1.Initialize();
            Console.WriteLine("Inserting a record into table");
            db1.Insert();
            Console.WriteLine("Updating the record");
            db1.Update();
            Console.WriteLine("Displaying the table :");
            db1.Select();
        }
    }

}

3 个答案:

答案 0 :(得分:2)

C#区分大小写!

main&lt; --- bad

Main&lt; --- fine

检查您的主要方法标识符,然后纠正它! ;)

答案 1 :(得分:1)

变化:

public static void main(String[] args)

要:

public static void Main(String[] args)

答案 2 :(得分:0)

将基本代码更改为

public static void Main(String[] args)

后面的部分定义了您无法在屏幕上看到任何内容的原因

你写过

Console.WriteLine("Inserting a record into table");

CONSOLE 格式运行 DOS 格式,以便您理解

我猜您正在运行 GUI 程序,这是一个使用表单鼠标运行的图形程序

谢谢。

转换

 Console.WriteLine("Inserting a record into table");

  MessageBox.Show("Inserting a record into table");