C# 正在为此操作创建类
我从mysqldatabase中提取数据,并在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
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();
}
}