C#使用相同对象实例的多表单应用程序?

时间:2015-09-16 20:09:18

标签: c# sqlite object mdi

我有多个需要与数据库通信的表单。我有一个嵌入式数据库sqlite,只需要一个dll文件。主窗体创建SQLite对象

params.require(:email_address)
params.require(:password)
params.permit(
:email_address,
:password,
:remember_me
)

稍后在代码中初始化。 我的问题是,如果我有多个需要与数据库通信的表单,更好的做法是给它们using System.Data.SQLite; ... public SQLiteConnection sqlite_conn; public SQLiteCommand sqlite_cmd; public SQLiteDataReader sqlite_datareader; 并创建自己的对象实例或以某种方式从多个表单中使用相同的对象,而不是同时...

1 个答案:

答案 0 :(得分:0)

Those classes aren't thread-safe,因此您无法将它们实例化一次,并在可见(或更确切地说,访问数据库)的表单之间共享它们。

如果您觉得自己在整个地方复制代码,请将该代码放在一个类中并对其进行参数化,以便将该类的实例注入到需要它的所有表单中。

Perhaps you can use Entity Framework,它有助于对数据库代码进行重复数据删除。