Windows窗体应用程序c#:添加全局变量

本文关键字:添加 全局变量 窗体 应用程序 Windows | 更新日期: 2023-09-27 18:17:48

大家好!我试图使一个windows窗体应用程序,需要连接到我们的数据库之一。

我可以用System.Data.Odbc对象连接到数据库。

我在本地函数中创建OdbcConnection对象,打开它,读取数据并关闭它没有问题。然而,我的表单需要发送许多查询,因此我想避免每次查询数据库时打开和关闭连接。

现在,我想采取的方法是声明一个OdbcConnection对象作为我的Forms类的字段,然后在InitializeComponent()方法中打开它,让数据库连接在表单期间打开,并仅在表单关闭时关闭它。

但这是一个问题,因为Visual Studio不想让我修改InitializeComponent()中的任何东西,所有的东西都必须由Form设计代表我创建,所以我不能打开OdbcConnection自己。

完成这个的干净的方法是什么?

谢谢

Windows窗体应用程序c#:添加全局变量

为什么不直接写

    public partial class credentials : Form
    {
    private Connection con;
        public credentials()
        {
            InitializeComponent();
            con = new Connection();
        }
}

如果您使用的是Command对象,最好自己打开和关闭连接。如果使用DataAdapter,可以让适配器控制连接状态。

你应该知道共享连接不是一个好主意。ADO。如果需要,Net将使用连接池来完成,我建议您手动打开和关闭连接。

但是根据你的要求,这里是你可以使用的代码:

public class Form1:Form
{
    public Form1()
    {
        InitiallizeComponent();
    }
    private OdbcConnection connection;
    //If you want to open and close connection automatically uncomment commented codes
    //Then you don't need to open and close connection manually
    protected override void OnLoad(EventArgs e)
    {
        connection= new OdbcConnection("your connection string here");
        //this.Connection.Open();
        base.OnLoad();
    }
    protected override void OnClosing(CancelEventArgs e)
    {
        //this.Connection.Close();
        this.Connection.Dispose();         
        base.OnClosing(e);
    }
}