Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/gwt/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 正在为此操作创建类_C#_Class_Executescalar - Fatal编程技术网

C# 正在为此操作创建类

C# 正在为此操作创建类,c#,class,executescalar,C#,Class,Executescalar,我从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.Ope

我从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”转换为字符串,并将其扔到消息框中

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

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


你没有为此编写类,而是为此编写函数

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();
       }  
}  

类的创建应该考虑它们想要封装的逻辑

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

另外,您的代码中可能有SQL注入,这取决于时间的来源


另外,我不能像这里的一些人一样快速打字,如果这没有意义,很抱歉。

把它放在一个方法中,把这个方法放在一个类中?你试过什么了吗?为你的
jogadores
表和所有你需要的方法创建一个类,比如
GetForcaTime
,但是不要创建一个封装数据库功能的类。我想说的是,在这里考虑OOP,而不是一个如何在类中正确运行方法的简单示例。
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();
       }  
}