新手提问:异常详细信息: System.NullReferenceException: 未将对象引用设置到对象的实例。

图片说明

using System;
using System.Data;
using System.Configuration;
using System.Data.SqlClient;

///
/// DbAccess 的摘要说明
///
public class DbAccess
{
private static SqlConnection conn;
private SqlDataAdapter da;
private DataSet ds;
private SqlCommand cmd;
public DbAccess()
{
//
// TODO: 在此处添加构造函数逻辑
//
}
///
/// 获取数据库连接
///
/// 获取数据库连接
internal static SqlConnection GetConn()
{
try
{
//从webConfig中读取数据库链接字符串
string cstr = ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString;
conn = new SqlConnection(cstr);
if (conn.State != ConnectionState.Open)
{
conn.Open();

        }
        return conn;
    }
    catch (Exception e)
    {      
    }
    return null;
}

///
/// 关闭数据库链接
///
internal static void CloseConn()
{
if (conn.State != ConnectionState.Closed)
{
conn.Close();
}
}

///
/// 执行Sql语句,包括添加,删除,和修改语句
///
/// sql语句
/// 数据库影响的行数
public bool ExecuteSql(string sql)
{
try
{
conn = GetConn();

        if (conn.State != ConnectionState.Open)
        {
            conn.Open();
        } 
        cmd = new SqlCommand(sql, conn);
        int flag = cmd.ExecuteNonQuery();

        return flag > 0;
    }
    catch (Exception e)
    { 
    }
    finally
    {
        conn.Close();

    }
    return false;
}


/// <summary>
/// 根据sql语句返回DataSet类型数据集
/// </summary>
/// <param name="sql">Sql查询语句</param>
/// <returns>DataSet数据集</returns>
public DataSet GetDataSet(string sql)
{
    try
    {
        conn = GetConn();
        da = new SqlDataAdapter(sql, conn);
        DataSet dst = new DataSet();
        da.Fill(dst);

        return dst;
    }
    catch { }
    finally
    {
        conn.Close();
    }
    return null;
}
0

2个回答

conn = GetConn();空指针异常,看下string cstr = ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString;能否获取到值?debug看下conn是否为空,conn调用前建议加个判断,如

if(null!=conn){
conn.Close();
}
其他类似
0

判断conn在使用的时候,是不是是NULL,如果是的话,不需要关闭!

0
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!

相似问题

1
ACEGI System.getSecurityManager() 返回值为null
3
编译jdk1.7时发生错误:Unsupported major.minor version 52.0
2
bash: rt: 未找到命令... (profile中没有 “tr”)
0
oracle连接异常:“System.Data.OracleClient.OracleConnection”的类型初始值设定项引发异常。
1
java.net.MalformedURLException: unknown protocol: jrt
2
java.sql.SQLException: No value specified for parameter 5
1
求助:pyinstaller3.5 打包 WARNING: Cannot read QLibraryInfo..... json.decoder.JSONDecodeError..
1
调用weka API输出数据集抛出异常:java.lang.IndexOutOfBoundsException
1
为什么调用Mapper或者service时,报空指针错误
2
学习SSM框架分页插件查询时出现空指针异常,求解!!!
1
redis使用@Cacheable缓存返回值,发送header【Accept:application/xml】请求返回xml数据异常
3
springboot启动失败,报端口被占用
3
jdbc连接远程的oracle数据库报错,Connection refused
2
okhttp抛出, Response response = client.newCall(request).execute();报错,该怎么解决
3
eclipse 中部署Tomcat时出现这个问题是什么原因啊?jdk和Tomcat都是64位的。
0
appium+java中,findelement一直报错Software caused connection abort: recv failed,怎么解决?
0
fastjson解析0000-00-00T00:00:00.000000000+08:00日期报错,怎么解决?
0
com.jacob包 在Windows10开发环境运行正常,在Windows server 2008 抛出异常
1
调用post接口怎么传MultipartFile[] files参数?
1
idea编译出错 java.io.IOException: Cannot create empty file: