c# - 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 没有返回一个实际的连接......对吗?我在这里做错了什么?
谢谢!
解决方案
推荐阅读
- mongodb - MongoDB:在聚合函数中映射嵌套数组
- javascript - 如何根据组件内容的可见性有条件地在组件标签上应用样式?
- react-native - RN 62.2 中 formData 和 Axios 的奇怪行为
- javascript - 你好,我需要一个随机数组中的普通字符串
- html - 由于某种原因,粘性位置不起作用
- python - 如何过滤具有通过外键django链接到它们的产品的组
- reactjs - 离子幻灯片反应内容都在一条线上
- java - 比较数字的通用方法
- python - 使用python将近似字符串匹配从excel复制到另一个excel文件
- testing - 将 Cypress 命令的超时设置为 0 有意义吗?