我有多个需要与数据库通信的表单。我有一个嵌入式数据库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;
并创建自己的对象实例或以某种方式从多个表单中使用相同的对象,而不是同时...
答案 0 :(得分:0)
Those classes aren't thread-safe,因此您无法将它们实例化一次,并在可见(或更确切地说,访问数据库)的表单之间共享它们。
如果您觉得自己在整个地方复制代码,请将该代码放在一个类中并对其进行参数化,以便将该类的实例注入到需要它的所有表单中。
Perhaps you can use Entity Framework,它有助于对数据库代码进行重复数据删除。