博客地址:http://vivianke.blog.163.com/blog/static/2971527120077821432256/
(对话记录)
为什么不能在空数据库中插入记录??
楼主greatest(成吉思汗)2002-07-06 10:11:32 在 VC/MFC / 数据库 提问
我在空数据库中插入记录时,当第一条插入后就要抱内存访问出错。而对于一个已经有了记录的表却能顺利完成,这是为什么?
要怎样解决才能一次性的顺利完成呢?
问题点数:0、回复次数:26
1 楼xghome(东楼)回复于 2002-07-06 10:33:20 得分 0
关注,我也长期以来很困惑,我都是手动添加一条记录之后,才能正确使用
2 楼greatest(成吉思汗)回复于 2002-07-06 10:50:45 得分 0
那位老大给我个解决的方法!!!分还会加的。
星期一至六我一直在的
3 楼teng(blackeyes)回复于 2002-07-06 11:00:14 得分 0
4 楼greatest(成吉思汗)回复于 2002-07-06 11:04:54 得分 0
5 楼lkcowboy(三黑)回复于 2002-07-06 11:07:23 得分 0
6 楼lkcowboy(三黑)回复于 2002-07-06 11:09:33 得分 0
7 楼greatest(成吉思汗)回复于 2002-07-06 12:40:10 得分 0
8 楼tyro_zhang()回复于 2002-07-06 12:45:19 得分 0
9 楼greatest(成吉思汗)回复于 2002-07-06 15:22:08 得分 0
10 楼sjzxyg(小小鸟)回复于 2002-07-06 16:03:32 得分 0
如果你是用ADO,那么用ADODB.RECORDSET返回记录集,然后调用AddNew方法时会出错
11 楼greatest(成吉思汗)回复于 2002-07-06 16:30:13 得分 0
无论是用什么来插入,都会出错的。
即使是用sql都要出错,而且是在第二次调用addnew()的时候
12 楼atoo(atoo)回复于 2002-07-06 17:31:47 得分 0
??为什么?我不懂,用ADO我没有抱错,不明白你说的是什么?
13 楼greatest(成吉思汗)回复于 2002-07-07 11:32:02 得分 0
插入的表要是空的才会报错,如果有记录,是不会报错的
很奇怪的问题呀!
14 楼daehappy(追求120%结贴)回复于 2002-07-07 13:39:59 得分 0
15 楼chenybin(小马)回复于 2002-07-08 08:40:36 得分 0
16 楼tangjun(俊)回复于 2002-07-08 08:47:28 得分 0
17 楼seep(阿冰)回复于 2002-07-08 09:05:40 得分 0
我也遇到这个问题,没办法只有手动加入一条数据。然后禁止对数据改动。
18 楼SunLord(鸿)回复于 2002-07-08 09:14:17 得分 0
我的办法是在表中增加一条无用纪录在用AddNew();
但我用connection的ExecSQL不会出错。
19 楼biggo(biggo)回复于 2002-07-08 09:22:06 得分 0
20 楼greatest(成吉思汗)回复于 2002-07-08 10:16:11 得分 0
自己加一条初始记录,是可以,不过只能自己用。如果是设计一个初始化系统软件,那你就不能在每个表里都先加记录了。
我所关心的是:如何在程序里改进,以避免出错,使初始化顺利进行。
而且我一直搞不懂,为什么出错的地方会是在getyear(),我并没有调用这个函数,addnew()的后台执行到底是怎么回事?为什么会调用getyear(),调来又是做什么用的?
21 楼nuaawyd(血影狂刀)回复于 2002-07-08 10:27:41 得分 0
你在pRecordSet->Addnew()前加上
pRecordSet->SetFieldNULL(NULL);
就行了
22 楼greatest(成吉思汗)回复于 2002-07-08 10:55:31 得分 0
pRecordSet->SetFieldNULL(NULL);
这句话是什么作用?为什么会涉及到getyear()函数?
本来应该就给分了的,不过原理还没搞懂
23 楼nuaawyd(血影狂刀)回复于 2002-07-08 11:02:06 得分 0
24 楼greatest(成吉思汗)回复于 2002-07-08 11:13:04 得分 0
25 楼l___jl()回复于 2002-07-09 10:19:27 得分 0
这个问题不涉及 getyear()函数
nuaawyd(我是菜鸟,我怕谁!) 解答正确,我就是这样做的
26 楼greatest(成吉思汗)回复于 2002-07-10 09:31:06 得分 0
我用debug跟踪调试,就是在getyear()函数那里出的问题.why???