我在创建一个用于执行不同数据库命令的类时遇到了一些问题。
1st)该程序是本地运行的,只能在本地运行。它只会连接到localhost上的数据库。
因此,我有一个简单的类设置,名为databaseConnector,允许我使用所需的Mysql查询将字符串传递给它,以执行不同的函数。
例如。
我用:
var db = new databaseConnector();
db.Update("UPDATE * WHERE.....");
但是,似乎我想要使用不同的查询或其他查询,它不起作用并抛出错误。
例如。
var db = new databaseConnector();
db.Update("UPDATE * WHERE...");
db.INSERT("INSERT INTO * WHERE.....");
在插件执行时会给我一个错误。有什么想法吗?我已经再次创造了它。所以我必须重做:
db = new databaseConnector();
然后使用Insert命令。
这是我的插入功能的一个例子。
public void Insert(string query)
{
//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();
}
}
现在我考虑一下。我应该在做之前调用我的db.openConnection()。因为当我在第一个var db = new databaseConnection()中初始化它时,它正在打开?然后在每个函数中它关闭它,但只检查它是否打开,而不是尝试打开,执行查询,然后关闭。