最近我有很多关于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语句。
发布于 2012-12-18 20:30:35
为什么不使用Nhibernate (http://nhforge.org/)。阅读http://geekswithblogs.net/pariam/archive/2006/07/26/86352.aspx获取使用nhibernate和mysql的教程。
编辑:在你的代码中,我不确定如何处理并发。但是Nhibernate会帮你做到这一点。阅读this
有关并发概念的详细信息,请阅读this
https://stackoverflow.com/questions/13932950
复制相似问题