首页 > 解决方案 > c#:如何创建解决方案范围的 ODBC 连接?

问题描述

我在其中一个项目上有一个有效的 ODBC 连接,但我想 DRY 并使连接类可用于整个解决方案。

因此,我从每个项目中删除了重复代码并创建了以下类,然后我在所有项目中都引用了该类:

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 没有返回一个实际的连接......对吗?我在这里做错了什么?

谢谢!

标签: c#odbc

解决方案


推荐阅读