c# - 使用 C# 连接数据库
问题描述
我正在尝试从数据库中获取数据,并且一直收到下一个错误:
没有 se controló System.NullReferenceException HResult=-2147467261
Message=Referencia a objeto no establecida como instancia de un objeto。Source=ImeApps StackTrace: en ComunCD.getConexionIRATI() en C:\Desarrollo\VisualStudio2010\ImeApps\ImeApps\ComunCD.cs:línea 64 en EmpresasCD.getEmpresas() en C:\Desarrollo\VisualStudio2010\ImeApps\ImeApps\EmpresasCD.cs :línea 41 en ImeApps.Principal.abrirSeleccionEmpresaEspera() en C:\Desarrollo\VisualStudio2010\ImeApps\ImeApps\Principal.cs:línea 92 en ImeApps.Principal.abrirSeleccionEmpresa() en C:\Desarrollo\VisualStudio2010\ImeApps\ImeApps\Principal .cs:línea 82 en ImeApps.Principal.menuItem4_Click(Object sender, EventArgs e) en C:\Desarrollo\VisualStudio2010\ImeApps\ImeApps\Principal.cs:línea 77 en System.Windows.Forms.ToolStripItem.RaiseEvent(Object key, EventArgs e) en System.Windows.Forms。
我正在做的是以下内容:
public class ComunCD
{
private static SqlConnection _sqlConnectionIRATI;
public static void conectarBDIRATI()
{
_sqlConnectionIRATI = new SqlConnection(ConfigurationSettings.AppSettings["CONEXION_IRATI"].ToString());
_sqlConnectionIRATI.Open();
}
public static SqlConnection getConexionIRATI()
{
if (_sqlConnectionIRATI == null)
{
//conectarBDIRATI();
}
if (_sqlConnectionIRATI.State != ConnectionState.Open) // HERE I GET THE ERROR
{
_sqlConnectionIRATI.Open();
}
return _sqlConnectionIRATI;
}
我做错了什么?提前致谢!
解决方案
如果_sqlConnectionIRATI
是null
你不应该测试State
:添加else
:
if (_sqlConnectionIRATI == null)
{
//conectarBDIRATI();
}
else if (_sqlConnectionIRATI.State != ConnectionState.Open)
{
_sqlConnectionIRATI.Open();
}
或者你应该创建一个实例:
// If _sqlConnectionIRATI is null, we create it
if (_sqlConnectionIRATI == null)
conectarBDIRATI();
// _sqlConnectionIRATI is guaranteed to be not null:
if (_sqlConnectionIRATI.State != ConnectionState.Open)
_sqlConnectionIRATI.Open();
推荐阅读
- android - 当 Snapshotlistener 检测到位置变化时更改标记位置,Android studio Google Maps api
- php - 未找到 PHP 类“Ds\Map”
- powershell - Azure Devops 构建变量在构建期间未更新
- java - 单击/调用片段时加载数据
- reactjs - 如何在不重新加载整个页面的情况下重新加载/更新我的页面部分
- java - 如何添加restfb。jar 到 Apache NetBeans IDE 11.1 上的 maven 项目?项目中没有库类别 - >属性
- python - 如何限制请求执行时间?
- c++ - 使用 boost asio 发送带外数据
- php - 如何在类别树Codeigniter中显示当前类别
- c# - 我在 asp.net C# MVC 中使用 dapper 映射数据时出错