要么这么简单,没有人问它,或者没有多少人试图这样做,所以我无法在谷歌查询中找到任何好的结果。基本上,我的主要形式是创建与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
}
答案 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
}
您需要将参数分配给您的私有变量, 这可能对你有帮助