首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MySQL数据库C#中的动态Select语句

MySQL数据库C#中的动态Select语句
EN

Stack Overflow用户
提问于 2012-12-18 20:24:18
回答 1查看 1.3K关注 0票数 0

最近我有很多关于MySQL中SQL语句的问题,但没有一个符合我的目的。

我有一个类,我的SQL语句将保存在这个类中,这样我就可以将它们用作保持代码整洁的方法。我已经执行了Insert、Update、Delete和Count语句,但似乎找不到SELECT语句的解决方案

下面是其他语句的代码:

代码语言:javascript
复制
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方法,它看起来像这样:

代码语言:javascript
复制
    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语句。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 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

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13932950

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档