解决“c#:未将对象引用设置到对象的实例”

本文分享了在使用C#操作数据库时遇到的“未将对象引用设置到对象的实例”错误及其解决方法。问题源于代码中存在两个同名但不同实例的数据库连接对象,通过调整构造函数中对象的引用解决了此问题。
部署运行你感兴趣的模型镜像

在用c#操作数据库的时候遇到了该问题,由此记录一下解决方法:
在这里插入图片描述
调试的时候无法连接到数据库,提示“未将对象引用设置到对象的实例”。我查看我的代码,本来想的是“没问题啊,明明已经将数据库连接语句实例化了”。知道后来我单步调试查看变量的值,才发现了问题所在:
在这里插入图片描述
看到了没,有两个mysqcon,继续调试,发现:
在这里插入图片描述
一个被赋值了,即实例化,而另一个,仍旧为空。说明我的代码里有两个mysqlcon。再来看看我原来的代码

在这里插入代码片
   MySqlConnection mysqlcon = null;
        //构造函数,用来给database类传递参数
        public database(string s)
        {
            //this.connString = s;
            //this.mysqlcon = new MySqlConnection(s);
            MySqlConnection mysqlcon = new MySqlConnection(s);
        }

问题就出在代码里,原本类的成员变量里有一个mysqlcon ,而在构造函数里面我又新建了一个mysqlcon,虽然名字看起来一样,但实际上是两个不同的对象,由此找到了问题所在。

解决办法

说来也简单,在构造函数里面去掉自己定义的那个mysqlcon对象,用this.mysqlcon代替,这样就只有一个mysqlcon,程序不会报错了。

您可能感兴趣的与本文相关的镜像

Stable-Diffusion-3.5

Stable-Diffusion-3.5

图片生成
Stable-Diffusion

Stable Diffusion 3.5 (SD 3.5) 是由 Stability AI 推出的新一代文本到图像生成模型,相比 3.0 版本,它提升了图像质量、运行速度和硬件效率

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值