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)
我该如何解决这个问题?以及如何正确包含课程?
这里有很多问题:
using指令一类.您不能这样做(无论如何,在C#6之前) - 您要么为类指定别名(这里不需要),或者只是指定命名空间以便导入该命名空间中的所有类型.(这样你就可以用简单的名字来引用它们.)dbConnetion因某种原因被召唤,但你已经得到了using dbConnection;POS命名空间中,但您尝试在不指定命名空间的情况下使用它从根本上讲,你不需要using为它的指令都为你想在同一个命名空间中使用它的代码.它确实需要在一个项目中 - 或者是你尝试使用它的一个项目,或者是一个引用的项目.
您还应该阅读.NET命名约定 - 目前没有任何名称跟随它们.
此外,在任何时间内保持连接都是一个坏主意 - 你应该打开它,使用它,关闭它.使用using语句确保在结尾处关闭它,即使抛出异常也是如此.