用户代码未处理 System.NullReferenceException Message=未将对象引用设置到对象的实例。

之前使用还没啥问题!今天突然在调用时候出问题了!显示在使用Getconn()时候有问题,查看图片是运行时候出错误的样子,以下是代码求高手,求大神。。。。解救usingSy... 之前使用还没啥问题!今天突然在调用时候出问题了!显示在使用Getconn()时候有问题,查看图片是运行时候出错误的样子,以下是代码求高手,求大神。。。。解救

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data;
using System.Data.SqlClient;
using System.Configuration;

namespace DALL
{
public class SQLHelper
{

//建立公有数据链接
private SqlConnection conn = null;
private SqlCommand cmd = null;
private SqlDataReader sdr = null;

//构造函数
public SQLHelper()
{
string connectionstring = ConfigurationManager.ConnectionStrings["connection"].ConnectionString;
SqlConnection conn = new SqlConnection(connectionstring);
}
private SqlConnection Getconn()
{
if (conn.State==ConnectionState.Open)//判断conn是否为关闭状态
{
conn.Open();
}

return conn;
}
//公布新公告
public bool ExecuteNoQuery()
{
bool flag = false;
string sql = "insert into gonggao([content]) values('插入新指令成功') ";
cmd = new SqlCommand(sql,Getconn());
int res=cmd.ExecuteNonQuery();
conn.Close();
if (res>0)
{
flag = true;
}
return flag;
}
//查询公告
public DataTable ExecuteQuery(string name)
{
DataTable dt = new DataTable();
cmd = new SqlCommand(name,Getconn());
cmd.CommandType = CommandType.StoredProcedure;
sdr = cmd.ExecuteReader();
dt.Load(sdr);
conn.Close();
return dt;
}
//提交评论
public bool insert()
{
bool flag = false;
string sql = "insert into comment([content],userIp,newsId) value('很好','引导和让那个','24')";
cmd = new SqlCommand(sql,Getconn());
int res=cmd.ExecuteNonQuery();
if (res>0)
{
flag = true;
}
return flag;
}
}
}
展开
 我来答
百度网友7cb8fc542
推荐于2017-11-24 · TA获得超过298个赞
知道小有建树答主
回答量:329
采纳率:0%
帮助的人:285万
展开全部
在主函数已经声明了SqlConnection conn
然后在SQLHelper中再次声明的那个conn在SQLHelper函数结束之后就会被直接析构掉,也就是说使用的conn仍然是那个主函数中声明的SqlConnection conn,也就是null。因此报错conn.Open()失败
将SQLHelper中的SqlConnection conn = new SqlConnection(connectionstring)修改为conn = new SqlConnection(connectionstring)即可。这是较典型的变量生命周期错误
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式