vs2015下c#往.mdf数据库插入数据失败

时间:2022-09-20 18:27:09
我使用的是vs2015,数据库应该是是vs自带的sql server express(这个我也不确定,就是在项目里添加基于服务的数据库文件(.mdf)),我在终端里插入能成功,插入后又执行了一条查询语句证实了这一点,但是我在数据资源管理器里面查询表的数据时没有找到我刚才插入的数据。
看书发现一条数据库文件属性中【复制到输出目录】需要配置一下,然后我就配置成“如果较新则复制”,然后运行程序,再次到数据资源管理器里查询发现还是没有我刚才插入的数据。
还望大佬赐教。

9 个解决方案

#1


在线等 vs2015下c#往.mdf数据库插入数据失败

#2


不是同一个文件,下列目录会有个副本。
bin\Debug

#3


引用 2 楼 D56233577 的回复:
不是同一个文件,下列目录会有个副本。
bin\Debug


【复制到输出目录】属性配置成“如果较新则复制”,我的理解是如果我代码中进行插入的话,这里应该也会跟着更改的。(我对服务资源管理器里的数据库进行刷新了)

#4


引用 2 楼 D56233577 的回复:
不是同一个文件,下列目录会有个副本。
bin\Debug


有一点不太明白,我在vs服务器资源管理器窗口里对数据库进行刷新没有找到我之前插入的数据,不太清楚为什么。

#5


引用 2 楼 D56233577 的回复:
不是同一个文件,下列目录会有个副本。
bin\Debug


我刚才又新建了一个数据连接,连接到 bin/debug目录下的mdf文件,查询发现这个里面有我插入的数据。我明明设置了那个属性,不过debug里的mdf数据库文件没有去更新项目目录下的mdf数据库文件。

#6


引用 5 楼 ggsjj 的回复:
我刚才又新建了一个数据连接,连接到 bin/debug目录下的mdf文件,查询发现这个里面有我插入的数据。我明明设置了那个属性,不过debug里的mdf数据库文件没有去更新项目目录下的mdf数据库文件。


不会更新的,知道插到哪里就行了,通常用LocalDB会方便一点。你不必完整照着书去做,应该有自己的想法,不然被书坑了都不知道。

#7


引用 6 楼 D56233577 的回复:
Quote: 引用 5 楼 ggsjj 的回复:

我刚才又新建了一个数据连接,连接到 bin/debug目录下的mdf文件,查询发现这个里面有我插入的数据。我明明设置了那个属性,不过debug里的mdf数据库文件没有去更新项目目录下的mdf数据库文件。


不会更新的,知道插到哪里就行了,通常用LocalDB会方便一点。你不必完整照着书去做,应该有自己的想法,不然被书坑了都不知道。


问题解决了,我服务资源管理器打开的是项目目录下面的mdf数据库文件,而我代码里连接到的是bin/debug下面的mdf文件(我连接数据库的方式是通过properties来获取的,我查看了获取的这个字符串,并且和书上对比了一下,才发现书上提了一下,就是这个连接方式默认是连接到bin/debug下mdf文件),所以始终操作的都是bin/debug下的这个数据库文件,也就是连接的是哪个操作的就是哪个,这两个数据库文件之间没有必要关联。更新的那个我感觉应该这样理解,应该是你操作的是那个数据库,如果对数据库文件更改了,就会对这个数据库文件进行更新,而不是拿bin/debug里的去更新项目目录下的。

#8


请你到编译后,生成的目录里去运行,不要在调试或VS环境里去运行,这样可能你看到的数据不一样。

#9


非技术问题:为什么结贴给分时老是显示我给的分数与总分不符,明明是相等啊 vs2015下c#往.mdf数据库插入数据失败

#1


在线等 vs2015下c#往.mdf数据库插入数据失败

#2


不是同一个文件,下列目录会有个副本。
bin\Debug

#3


引用 2 楼 D56233577 的回复:
不是同一个文件,下列目录会有个副本。
bin\Debug


【复制到输出目录】属性配置成“如果较新则复制”,我的理解是如果我代码中进行插入的话,这里应该也会跟着更改的。(我对服务资源管理器里的数据库进行刷新了)

#4


引用 2 楼 D56233577 的回复:
不是同一个文件,下列目录会有个副本。
bin\Debug


有一点不太明白,我在vs服务器资源管理器窗口里对数据库进行刷新没有找到我之前插入的数据,不太清楚为什么。

#5


引用 2 楼 D56233577 的回复:
不是同一个文件,下列目录会有个副本。
bin\Debug


我刚才又新建了一个数据连接,连接到 bin/debug目录下的mdf文件,查询发现这个里面有我插入的数据。我明明设置了那个属性,不过debug里的mdf数据库文件没有去更新项目目录下的mdf数据库文件。

#6


引用 5 楼 ggsjj 的回复:
我刚才又新建了一个数据连接,连接到 bin/debug目录下的mdf文件,查询发现这个里面有我插入的数据。我明明设置了那个属性,不过debug里的mdf数据库文件没有去更新项目目录下的mdf数据库文件。


不会更新的,知道插到哪里就行了,通常用LocalDB会方便一点。你不必完整照着书去做,应该有自己的想法,不然被书坑了都不知道。

#7


引用 6 楼 D56233577 的回复:
Quote: 引用 5 楼 ggsjj 的回复:

我刚才又新建了一个数据连接,连接到 bin/debug目录下的mdf文件,查询发现这个里面有我插入的数据。我明明设置了那个属性,不过debug里的mdf数据库文件没有去更新项目目录下的mdf数据库文件。


不会更新的,知道插到哪里就行了,通常用LocalDB会方便一点。你不必完整照着书去做,应该有自己的想法,不然被书坑了都不知道。


问题解决了,我服务资源管理器打开的是项目目录下面的mdf数据库文件,而我代码里连接到的是bin/debug下面的mdf文件(我连接数据库的方式是通过properties来获取的,我查看了获取的这个字符串,并且和书上对比了一下,才发现书上提了一下,就是这个连接方式默认是连接到bin/debug下mdf文件),所以始终操作的都是bin/debug下的这个数据库文件,也就是连接的是哪个操作的就是哪个,这两个数据库文件之间没有必要关联。更新的那个我感觉应该这样理解,应该是你操作的是那个数据库,如果对数据库文件更改了,就会对这个数据库文件进行更新,而不是拿bin/debug里的去更新项目目录下的。

#8


请你到编译后,生成的目录里去运行,不要在调试或VS环境里去运行,这样可能你看到的数据不一样。

#9


非技术问题:为什么结贴给分时老是显示我给的分数与总分不符,明明是相等啊 vs2015下c#往.mdf数据库插入数据失败