-1

我正在从 mysqldatabase 中获取数据并在 C# 应用程序中输入变量。我正在使用这段代码:

int forcatime;
string comandomedia = "select avg(forca_jogador) from jogadores where nome_time = " + time;

ocon.ConnectionString = con;
MySqlCommand media = new MySqlCommand(comandomedia, ocon);
ocon.Open();
forcatime = Convert.ToInt32(media.ExecuteScalar());
ocon.Close();

完成此操作后,我将“forcatime”转换为 ToString 并将其放入 MessageBox 中。

我想知道是否有办法为此操作创建一个类,因为每次我必须这样做时,我都会一遍又一遍地编写所有代码。谢谢

4

3 回答 3

1

就像是...

int result = new DataLayerHelper().RunQuery();
MessageBox.Show(result.ToString());

[...]

public class DataLayerHelper
{
    public DataLayerHelper() { }

    public int RunQuery()
    {
        int forcatime;
        string comandomedia = "select avg(forca_jogador) from jogadores where nome_time = " + time;
        ocon.ConnectionString = con;
        MySqlCommand media = new MySqlCommand(comandomedia, ocon);
        ocon.Open();//consider a using statement
        forcatime = Convert.ToInt32(media.ExecuteScalar());
        ocon.Close();

        return forcatime;
    }
}
于 2013-02-11T14:24:15.863 回答
0

创建类时应牢记它们打算封装的逻辑。

你需要说出这是在做什么,为什么你把它扔到屏幕上......等等

另外,您的代码中可能存在 SQL 注入,具体取决于时间的来源。

PS我不能快速打字,因为这里有些人很抱歉,如果这没有意义。

于 2013-02-11T14:26:10.170 回答
0

你不为此编写一个类,你为此编写一个函数。

public void Foo(params)  
{
    //your code here
}  

您要做的是将它放在一个“实用程序”类中,该类由具有私有构造函数的静态函数组成。

例子:

public class DBUtilities  
{  
       private DBUtilities(){}  
       public static void Foo(params)  
       {  
        int forcatime;
    string comandomedia = "select avg(forca_jogador) from jogadores where nome_time = " + time;
    ocon.ConnectionString = con;
    MySqlCommand media = new MySqlCommand(comandomedia, ocon);
    ocon.Open();
    forcatime = Convert.ToInt32(media.ExecuteScalar());
    ocon.Close();
       }  
}  
于 2013-02-11T14:24:29.440 回答