我在一个项目上有一个有效的ODBC连接,但我想进行干燥处理,并使整个解决方案都可以使用该连接类。
因此,我从每个项目中删除了重复的代码,并创建了以下类,然后在所有项目中引用了该类:
using System;
using System.Data.Odbc;
public class ConnectWithDb
{
public OdbcConnection Connection;
public OdbcConnection Connect()
{
try
{
string connectionString = "Driver={" + Constants.DriverODBC + "};Dbq=" + Constants.DbFileName + ";Uid=Admin;Pwd=;";
OdbcConnection Connection = new OdbcConnection(connectionString);
Connection.Open();
return Connection;
}
catch (Exception ex)
{
throw new Exception(ex.Message);
}
}
}
然后,在每个项目上,在执行Main()方法之前,执行以下操作:
private ConnectWithDb dbConnection = new ConnectWithDb();
没有错误。问题是,当我尝试在任何方法中创建命令时,都会收到如下错误:
OdbcCommand command = dbConnection.CreateCommand();
dbConnection带下划线并显示An object reference is required for the non-static field, method or property 'Program.dbConnection'
我尝试将一些方法和值设置为静态,但这会带来很多其他错误。
我猜,ConnectWithDb没有返回实际的连接...对吗?我在这里做错了什么?
谢谢!