【发布时间】:2012-10-09 21:27:24
【问题描述】:
我在 C# 中创建一个表单,因此任何新表单都继承了类 From 中构建的属性 我还创建了一个名为 program 的类,它启动到我的数据库的连接我希望我的所有表单都继承它,因为我不想为每个表单打开一个新连接 我不能使用接口,因为程序包含 main() 它在其中创建连接 我的程序课是
class Program
{
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main()
{
MySqlConnection myConnection = new MySqlConnection("Server=instance2813231.db.xeround.com;Port=18422;Database=shares info;Uid=user;Pwd=password;");
MySqlCommand command = myConnection.CreateCommand();
try
{
myConnection.Open();
MessageBox.Show("connected");
}
catch (Exception a)
{
Console.WriteLine(a.ToString());
MessageBox.Show("Failed");
}
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new Form1());
}
}
我该如何解决这个问题?
【问题讨论】:
-
您将 DB 代码与 UI 代码混合在一起。这本身就是一个很大的设计缺陷。
-
这个问题需要一些改进:代码向我们展示了正在发生的事情,对于初学者。其次,这是一个相当广泛的问题,因为它会涉及到应用程序的适当设计。我不确定这里是否适用多重继承。如果是这样,那么这个问题已经被问了很多。
-
我的连接不在我的视图中,但在 UI 中用户将添加数据以保存到数据库中,因此我必须在 UI 中编写将使用我的连接的 sql INSERT 语句
-
@AyaAbdelsalam - 诸如 INSERT 之类的 DB 代码应位于单独的代码段中。例如,在一个被所有 UI 元素调用的类中。