找不到类型或命名空间名称"dbConnection"(您是否缺少using指令或程序集引用?)

Jay*_*len 0 c# mysql class visual-studio-2010

我是C#和Visual Studio的新手.我正在尝试编写一个小应用程序,我可以从MySQL数据库中插入/更新/删除和选择记录.

我确实有PHP和其他语言的编程经验,但这是我第一次使用Windows应用程序.

我写了一个类来处理与MySQL的开/关连接并处理查询.

类名是dbConnetion,它位于Clases\dbConnetion.cs

在我想要使用这个类的表单上,我把它放在顶部

using dbConnetion;
Run Code Online (Sandbox Code Playgroud)

但由于某种原因,我一直在试图包括课程的方式上出现错误

Error   1   The type or namespace name 'dbConnection' could not be found (are you missing a using directive or an assembly reference?)  C:\Users\User\C# Projects\POS\POS\newDepartment.cs
Run Code Online (Sandbox Code Playgroud)

这是我遇到的截图

在此输入图像描述

这是文件的屏幕截图

在此输入图像描述

这是我的班级代码

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


namespace POS
{
    public class dbConnetion
    {
        //private OdbcConnection conn; 
        private readonly string mServer;
        private readonly string mDatabase;
        private readonly string mUid;
        private readonly string mPassword;
        private readonly string mPort;
        private readonly string conn_string;
        public dbConnetion()
        {
            mServer = "localhost";
            mDatabase = "pos";
            mUid = "root";
            mPassword = "";
            mPort = "3306";

            conn_string = String.Format("server={0};user={1};database={2};port={3}password={4};", mServer, mUid, mDatabase, mPort, mPassword);



        }

        //Start connection to database
        private bool startConnection(MySqlConnection mConnection)
        {

            try
            {
                mConnection.Open();
                return true;
            }
            catch (MySqlException ex)
            {
                MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK);
                return false;
            }

        }


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

        public MySqlDataReader getDataSet(string query)
        {
            MySqlConnection conn = new MySqlConnection(conn_string);

            if (startConnection(conn) == true)
            {
                MySqlCommand cmd = new MySqlCommand(query, conn);
                MySqlDataReader dataset = cmd.ExecuteReader();
                closeConnection(conn);

            }
            return dataset;
        }


        public void processQuery(string strSQL, List<MySqlParameter> pars)
        {
            MySqlConnection conn = new MySqlConnection(conn_string);


            if (startConnection(conn) == true)
            {
                MySqlCommand cmd = new MySqlCommand(strSQL, conn);

                foreach (MySqlParameter param in pars)
                {
                    cmd.Parameters.Add(param);
                }

                cmd.ExecuteNonQuery();
                closeConnection(conn);
            }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

我该如何解决这个问题?以及如何正确包含课程?

Jon*_*eet 5

这里有很多问题:

  • 你试图用一个using指令一.您不能这样做(无论如何,在C#6之前) - 您要么为类指定别名(这里不需要),或者只是指定命名空间以便导入该命名空间中的所有类型.(这样你就可以用简单的名字来引用它们.)
  • 你的班级dbConnetion因某种原因被召唤,但你已经得到了using dbConnection;
  • 您的类位于POS命名空间中,但您尝试在不指定命名空间的情况下使用它
  • 看起来你的班级不在项目中 - 这是一个解决方案项目.可能根本没有编译.类应始终在项目中.

从根本上讲,你不需要using为它的指令为你想在同一个命名空间中使用它的代码.它确实需要在一个项目中 - 或者是你尝试使用它的一个项目,或者是一个引用的项目.

您还应该阅读.NET命名约定 - 目前没有任何名称跟随它们.

此外,在任何时间内保持连接都是一个坏主意 - 你应该打开它,使用它,关闭它.使用using语句确保在结尾处关闭它,即使抛出异常也是如此.