最近我有很多关于 MySQL 中 SQL 语句的问题,但没有一个符合我的目的。
我有一个类,它将保存我的 SQL 语句,以便我可以将它们用作保持代码整洁的方法。我已经完成了 Insert、Update、Delete 和 Count 语句,但我似乎找不到 SELECT 语句的解决方案
以下是其他语句的代码:
public void Insert(string query)
{
if (OpenConnection() == true)
{
MySqlCommand cmd = new MySqlCommand(query, mycon);
cmd.ExecuteNonQuery();
CloseConnnection();
}
}
public void Update(string query)
{
if (OpenConnection() == true)
{
MySqlCommand cmd = new MySqlCommand();
cmd.CommandText = query;
cmd.Connection = mycon;
cmd.ExecuteNonQuery();
CloseConnnection();
}
}
public void Delete(string query)
{
if (OpenConnection() == true)
{
MySqlCommand cmd = new MySqlCommand(query, mycon);
cmd.ExecuteNonQuery();
CloseConnnection();
}
}
public int Count(string query)
{
int count = 0;
if (OpenConnection() == true)
{
MySqlCommand cmd = new MySqlCommand(query, mycon);
count = int.Parse(cmd.ExecuteScalar() + "");
CloseConnnection();
return count;
}
else
{
return count;
}
}
我正在考虑一个看起来像这样的 SELECT 方法:
public string[] Select(string query, int colnum)
{
if (OpenConnection() == true)
{
MySqlCommand cmd = new MySqlCommand(query, mycon);
MySqlDataReader dr = new MySqlDataReader();
string[] info = new string[colnum];
dr = cmd.ExecuteReader();
while (dr.Read())
{
for (int i = 0; i <= colnum; i++)
{
info[i] = (dr[colnum].ToString());
}
}
}
}
这行代码完全是虚构的info[i] = (dr[colnum].ToString());
因为我知道它不会按照我想要的方式运行。我正在寻找具有类似逻辑的东西或类似的东西,可以让我通过使用方法来利用 SELECT 语句。
最佳答案
为什么不使用 Nhibernate (http://nhforge.org/)。阅读 http://geekswithblogs.net/pariam/archive/2006/07/26/86352.aspx有关将 nhibernate 与 mysql 一起使用的教程
编辑: 对于您的代码,我不确定如何处理并发性。但 Nhibernate 会为你做到这一点。阅读 this
阅读this有关并发概念的详细信息
关于c# - C# 中的动态 Select 语句到 MySQL 数据库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13932950/