在表单

时间:2017-06-07 13:37:19

标签: c# connection

要么这么简单,没有人问它,或者没有多少人试图这样做,所以我无法在谷歌查询中找到任何好的结果。基本上,我的主要形式是创建与i系列(AS400)大型机的IDB2连接:

Connection con = new Connection();
con.Open(connectionString, userName, userPassword, 0);

主窗体可以正常使用此连接。我有另一个表单在PC上的内部SQL数据库中显示记录,但是这个表单也需要访问AS400。我添加了一个IDB2connection的入口参数,当表单首次初始化时,连接状态是打开的。但是,当我单击窗体上的按钮并进入该新子例程时,连接为空。为了始终保持连接打开,我是否需要公开或其他什么?我可以把所有代码重新打开这种形式的新连接,但它似乎有点笨重。关于如何在表单之间共享开放连接的任何想法?

新表格:

private iDB2Connection conn;

public frmFileDatabase(iDB2Connection conn)
    {
        InitializeComponent();
    }

private void btnUpload_Click(object sender, EventArgs e)
    {
        // conn is null at this point
    }

1 个答案:

答案 0 :(得分:1)

private iDB2Connection conn;

public frmFileDatabase(iDB2Connection _conn)
    {
        InitializeComponent();
        conn = _conn;
    }

private void btnUpload_Click(object sender, EventArgs e)
    {
        // you can use the connection
    }

您需要将参数分配给您的私有变量, 这可能对你有帮助