1000分的问题!来抢吧!!

Commandor 2003-02-17 01:09:20
近日,我正在做一个三层的东东,用了ado 2.7 + winxp + sql 2000(sp3) + d7 。用 socketconnection来联结。
一个很简单的主从表结构。我用了sql 2000自带的northword数据库来试验以避免自建库带来的不稳定因素。主表suppliers和从表products。appserver端用了2个adodataset,1个datasource来建立主从关联,1个datasetprovider来建立输出dataset。使用的控件属性均使用默认值,在client端用了2个clientdataset来存放显示主从数据集,界面用了2个dbgrid来显示数据。
出现的问题是:
1、如果appserver的datasetprovider的resolvetodataset设为true,那applyupdates时,如只更新主表则一切正常。若只对从表进行更新时,更新错误为:field 'productid' cannot be modified。回回如此。(productid为关联字段)。
2、如果appserver的datasetprovider的resolvetodataset设为false时,那applyupdates时,如只对从表进行更新则一切正常,若只对主表进行更新时,主表记录更新后,新添加记录消失在dbgrid中,此时用close & open clientdataset,refresh clientdataset均看不到新增的记录。但这条记录已很真实的放在了后台数据库中。client却死活都看不到。
3、当datasetprovider可以使用客户端传来的sql语句时,在客户端传递一个sql,却报错,”不能在一个打开的记录集上执行这个操作?!“但同样的架构,换成dbexpress + interbase,一切ok!

经过不断努力,我在后台数据库为access的情况下已经解决了1、2两个问题。其实我也没想到会这么简单:就是把从表的sql语句不要select * ,而必须为具体的一个个的字段,而且,那个自增长字段“productid”不能在从表里面。而且在northword里一应用,全部ok。
但新的问题就是:我在我的自建sql2k数据库上使用时,错误为:主表更新时显示:key violation.从表更新时显示:no corresponding master record find.
同样的程序,后台数据库一换成northword,就没问题了。莫非是我的数据库设计有问题?
这里给出数据库结构的sql:
create table [dbo].[ttraininfo] (
[trainid] [bigint] identity (1, 1) not null ,
[empid] [bigint] not null ,
[trainname] [nvarchar] (50) collate chinese_prc_ci_as not null ,
[traincontent] [nvarchar] (50) collate chinese_prc_ci_as null ,
[kindoftrain] [nvarchar] (50) collate chinese_prc_ci_as null ,
[begintime] [datetime] null ,
[endtime] [datetime] null ,
[trainplace] [nvarchar] (100) collate chinese_prc_ci_as null ,
[trainunit] [nvarchar] (50) collate chinese_prc_ci_as null ,
[score] [char] (10) collate chinese_prc_ci_as null ,
[certificateid] [char] (20) collate chinese_prc_ci_as null
) on [primary]
go

create table [dbo].[thuman] (
[empid] [bigint] identity (1, 1) not null ,
[wid] [nvarchar] (12) collate chinese_prc_ci_as not null ,
[cid] [nvarchar] (21) collate chinese_prc_ci_as null ,
[name] [nvarchar] (10) collate chinese_prc_ci_as not null ,
[usedname] [nvarchar] (10) collate chinese_prc_ci_as null ,
[sex] [char] (2) collate chinese_prc_ci_as null ,
[birthday] [datetime] null ,
[edugrd] [bigint] null ,
[native_place] [nvarchar] (50) collate chinese_prc_ci_as null ,
[worktime] [datetime] null ,
[workage] [int] null ,
[homeaddr] [nvarchar] (100) collate chinese_prc_ci_as null ,
[worder_cadre] [char] (4) collate chinese_prc_ci_as null ,
[joinpartytime] [datetime] null ,
[partystation] [bigint] null ,
[nation] [bigint] null ,
[techpost] [bigint] null ,
[rank] [bigint] null ,
[marriage] [nvarchar] (50) collate chinese_prc_ci_as null ,
[dep] [char] (2) collate chinese_prc_ci_as null ,
[team] [char] (2) collate chinese_prc_ci_as null ,
[stateofemp] [bigint] null ,
[health] [bigint] null
) on [primary]
go
****************
thuman为主表(主键为empid),ttraininfo为从表(主键为trainid)。两表以empid来关联。
这里请哪位能人来捡分:1000分,指出错误,最好是能给出具体代码!绝不食言!
我的E-Mail :Commander@sina.com
...全文
72 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
Commandor 2003-02-18
  • 打赏
  • 举报
回复
不会吧,放了一天,连一个回复都没有?1000分啊!!!!
【更新至2025年】2001-2025年上市公司数字化转型年报词频统计(吴非、赵宸宇、甄红线)(300+年报词频统计) 1、时间:2001-2025年 2、来源:上市公司年报 3、参考文献:企业数字化转型与资本市场表现——来自股票流动性的经验证据(吴非) 数字化转型如何影响企业全要素生产率(赵宸宇) 知识产权行政保护与企业数字化转型(甄红线) 4、方法说明:(1)参考吴非老师的做法,对人工智能技术、大数据技术、云计算技术、区块链技术、数字技术运用五个维度76个数字化相关词频进行统计 (2)参考赵宸宇老师的做法,对数字技术应用、互联网商业模式、智能制造、现代信息系统四个维度99个数字化相关词频进行统计 (3)参考甄红线老师的做法,对技术类、组织赋能、数字化应用等类别下139个数字化相关词频进行统计 5、指标:年份、股票代码、公司简称、行业名称、行业代码、全文-文本总长度、仅中英文-文本总长度、人工智能技术-吴、大数据技术-吴、云计算技术-吴、区块链技术-吴、数字技术运用-吴、数字技术应用-赵、互联网商业模式-赵、智能制造-赵、现代信息系统-赵、技术类-人工智能技术-甄、技术类-区块链技术-甄、技术类-云计算技术-甄、技术类-大数据技术-甄、组织赋能-人工智能技术-甄、组织赋能-云计算技术-甄、组织赋能-大数据技术-甄、组织赋能-广义数字技术-甄、数字化应用-技术创新-甄、数字化应用-流程创新-甄、数字化应用-业务创新-甄、人工智能、商业智能、图像理解、投资决策辅助系统、智能数据析、智能机器人、机器学习、深度学习、语义搜索、生物识别技术、人脸识别、语音识别、身份验证、自动驾驶、自然语言处理、大数据、数据挖掘、文本挖掘、数据可视化、异构数据、征信、增强现实、混合现实、虚拟现实、云计算、流计算、图计算、内存计算、多方安全计算、类脑计算、绿色计算、认知计算等300+词频

1,594

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 网络通信/分布式开发
社区管理员
  • 网络通信/分布式开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧