我是WPF的新手,任何建议都将受到赞赏。
我有一个WPF应用程序。当用户单击mainWindow的“NEXT”按钮时,它将连接到远程数据库。如果db连接成功,第二个窗口将显示并从数据库中读取更多信息并显示一些内容。我使用类SQLRead来执行数据库连接作业。
public class SQLRead
{
public string sql;
SqlConnection conn;
SqlCommand cmd;
public int counter, length, dIndex, cdIndex, sdIndex;
public int[,] data;
public char[,] cdata;
public string[,] sdata;
public SQLRead()
{
sql = ""; counter = 0; length = 0;
dIndex = 0; cdIndex = 0; sdIndex = 0;
}
public void NewConnection()
{
//if (conn != null) conn.Close();
conn = new SqlConnection(
@"Data Source = TheServer\TheInstance
Integrated Security = SSPI;");
cmd = new SqlCommand(sql, conn);
cmd.CommandTimeout = 120;
cmd.CommandType = CommandType.Text;
}
public void Connect()
{
conn.Open();
}
public void Disconnect()
{
conn.Close();
}
我的问题是如何将SQLRead实例传输到第二个窗口?
感谢。
答案 0 :(得分:0)
为什么不创建一个应用程序作用域共享变量来挖洞Sqlread对象?然后,您可以从应用程序的任何位置访问它:
class Application
{
internal static SQLRead sharedSQLRead { get; set; }
}
在MainWindow中:
Application.sharedSQLRead = new SQLRead();
在第二个窗口中:
Application.sharedSQLRead.doWhatever();
这似乎比传递参考更容易....