SQL 中主键约束的问题!在线等!分不够加!

zjj202 2004-05-06 10:20:17
我现在有两个表一个学生情况表,一个宿舍情况表
我在输入信息的时候,在一个窗体上都连接了这两个表
我想往库中输入信息,于是我写了
XXLR_XS_Table.AppendRecord([XMDB.Text,(strtoint
(NLDB.Text)),XBDB.Text,JGDB.Text]);
XXLR_SS_Table.AppendRecord([(strtoint(QSDB.Text)),(strtoint(CWDB.Text)), (strtoint(LPDB.Text)),NULL]);
我如果这样写的话它报错说性别'男'和什么AGE不是匹配的类型之类的!

我如果在第一个appendrecord开始加上NULL意思是让学号这个主键为空,它就报错说违反拉主键约束!请问怎样解决,我的输入问题
...全文
82 15 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
zjj202 2004-05-07
  • 打赏
  • 举报
回复
internetcsdn 2004-05-07
  • 打赏
  • 举报
回复
我一直用QUERY,(不是很方便)
不知TABLE是什么的.

不妨试下用QUERY
zjj202 2004-05-07
  • 打赏
  • 举报
回复
我用的试TABLE有INSERT INTO 吗?
internetcsdn 2004-05-07
  • 打赏
  • 举报
回复
insert into xsqk (Student_Name,Age,Sex,Jg)
values (...)
values后面也是跟四个参数.

因为Student_Id是主键.(如果是标识键的话,是不接受定值的.)
zjj202 2004-05-07
  • 打赏
  • 举报
回复
我试试
tryanother 2004-05-07
  • 打赏
  • 举报
回复
既然student_ID是主键,那么他就不允许出现重覆值和空值(当然如果数据库允许空键主键的话则可以),假设这个主键又是自增加的,则不允许赋值.如果违反上述原则则数据库报错约束性错误.另外,为什么不用insert语句来实现记录插入呢,这样效率会提高很多.具体语句为:insert into xsqk (Student_Id,Student_Name,Age,Sex,Jg) values (...),其中如果student_id是自增加的,则不用写,values后面跟你的控件对应的数值,字符串要用引号引起,而且应当与前面的字段顺序相同.祝你成功.
qizhanfeng 2004-05-07
  • 打赏
  • 举报
回复
up
zhlwyy 2004-05-07
  • 打赏
  • 举报
回复
把你不用的字段设为NULL
你的主键不用管!
zjj202 2004-05-07
  • 打赏
  • 举报
回复
两位快来呀!
zjj202 2004-05-07
  • 打赏
  • 举报
回复
两位快来呀!
zjj202 2004-05-06
  • 打赏
  • 举报
回复
d
zjj202 2004-05-06
  • 打赏
  • 举报
回复
首先感谢你的热心回答,我如果加入了主键这个值它就报错说违反了逐渐约束什么的,所以我没有加
2.我的字段是相同的呀!
3.用Append不还是一样的吗>?
Kaykay 2004-05-06
  • 打赏
  • 举报
回复
问题所在:
一,你的表一有五个字段,而你的第一条语句里只有四个值。且:好像是缺少了Student_ID值(主键)。
二、你的表字段的顺序与代码里的顺序不一样。

建议:
一、用SQL的insert直接执行。
二、不用appendrecord方法,用Append.
三、若坚持用appendrecord,则检查上面我所列的问题
zjj202 2004-05-06
  • 打赏
  • 举报
回复
多谢楼上的大哥!
我的意思是:一个表为学生情况表(XSQK)包含:[Student_Id,Student_Name,Age,Sex,Jg]
一个表为宿舍情况表(Ssqk)包含:[Student_Name,Lph(楼牌号),Qsbh(寝室编号),Cwh(床位号)]
其中Age,Lph,Qsbh,Cwh为int型4字节,其他字段均为char型10字节
再学生情况表中Student_id为主键
请为怎么写,我的意思是说,我输入信息,但是因为有个相同的字段Student_Name所以老是不成功!谢谢,分数好商量
Kaykay 2004-05-06
  • 打赏
  • 举报
回复
把你的表结构表达清楚,我能解决!
在Appendrecord里让主键为Null是不可以的。

2,507

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 数据库相关
社区管理员
  • 数据库相关社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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