我是C#和Visual Studio的新手。我正在尝试编写一个小型应用程序,可以在其中插入/更新/删除和选择MySQL数据库中的记录。
我确实有使用PHP和其他语言进行编程的经验,但这是我第一次使用Windows应用程序。
我写了一个类来处理与MySQL的打开/关闭连接并处理查询。
类名是dbConnetion
,它位于Clases\dbConnetion.cs
在我要使用该类的表格上,我放在顶部
using dbConnetion;
但是由于某种原因,我在尝试添加课程时一直遇到错误
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
这是我遇到的截图
这是文件的屏幕截图
这是我的班级代码
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);
}
}
}
}
我该如何解决这个问题?以及如何正确包含该类?
这里有多个问题:
using
指令一类。您无法做到这一点(无论如何,在C#6之前)-您要么为类指定别名(您在此处不需要),要么只是指定名称空间以导入该名称空间中的所有类型。(以便您可以通过它们的简单名称来引用它们。)dbConnetion
由于某种原因被召集,但您已经using dbConnection;
POS
名称空间中,但是您尝试使用它而不指定名称空间从根本上讲,你不需要using
为它的指令都为你想在同一个命名空间中使用它的代码。但是,它确实需要在一个项目中-与您要使用的项目相同,或者是引用的项目。
您还应该阅读.NET命名约定-目前您的名字都没有跟随它们。
另外,保持连接任意长的时间也是一个坏主意-您应该打开,使用它,关闭它。使用一条using
语句确保即使在引发异常的情况下也将其关闭。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句