是关于存储的问题,看了就会骂我苯的!

amyfun 2000-07-14 09:24:00
我从两个表中调出部分字段,然后存储到一个新表中,首先我
新建立一个表__借阅登记表(jydjb),表的字段为如下所示:(这些字段包括了两个表中待提取出的所有字段,我的想法是把这些提取出的字段存到新表中。)
create table jydjb
(sh int not null, /*书号*/
sm char(30) null, /* 书名*/
ym char(30) null, /*译名*/
zgbh char(8) not null, /*职工编号*/
jyz char(10) not null, /*借阅者*/
zw char(20) not null, /*职位*/
jyks char(30) null, /*借阅科室*/
jysq datetime, /*借阅日期*/
primary key (.sh,zgbh))

编程如下:
query1.sql.add('insert into jydjb values (:jydjh,:sh,:sm,:ym,:zgbm,:zgbm,:jyz,:zw,'+
':jyks,:jysq')
query1.parambyname('sh').asinteger=integer(edit1.text);
query1.parambyname('sm').asstring=edit2.text;
query1.parambyname('ym').asstring=edit3.text;
query1.parambyname('zgbh').asstring=edit4.text;
query1.parambyname('jyz').asstring=edit5.text;
......等等
query1.execute;

在Delphi下运行总是通不过,一旦通过,当按存储按钮时,系统提示....EDBEngineError...."Invalid parameter"的提示框。
...全文
145 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
amyfun 2000-07-14
  • 打赏
  • 举报
回复
Everybody:
query1.SQL.Add('insert into "jieshu" values(Suoshuhao,Biaoti,Suoquehao,Bianhao,Keshi,Zhiwei,Renmin,J_riqi,'+') select Suoshuhao,Biaoti,Suoquehao,Bianhao,Keshi,Zhiwei,Renmin,J_riqi from Book.db,Zhigong.db');
query1.ParamByName('Suoshuhao').asstring:=edit1.Text;
query1.ParamByName('Suoquehao').asstring:=edit2.Text;


一按借阅按钮出现.....query1:parameter 'Suoshuhao' not found....的提示,(我没有TStorProc组件,能行吗?)
amyfun 2000-07-14
  • 打赏
  • 举报
回复
Everybody:
query1.SQL.Add('insert into "jieshu" values(Suoshuhao,Biaoti,Suoquehao,Bianhao,Keshi,Zhiwei,Renmin,J_riqi,'+') select Suoshuhao,Biaoti,Suoquehao,Bianhao,Keshi,Zhiwei,Renmin,J_riqi from Book.db,Zhigong.db');
query1.ParamByName('Suoshuhao').asstring:=edit1.Text;
query1.ParamByName('Suoquehao').asstring:=edit2.Text;
一按借阅按钮出现.....query1:parameter 'Suoshuhao' not found....的提示,(我没有TStorProc组件,能行吗?)
amyfun 2000-07-14
  • 打赏
  • 举报
回复
query1.SQL.Add('insert into "jieshu" values(Suoshuhao,Biaoti,Suoquehao,Bianhao,Keshi,Zhiwei,Renmin,J_riqi,'+') select Suoshuhao,Biaoti,Suoquehao,Bianhao,Keshi,Zhiwei,Renmin,J_riqi from Book.db,Zhigong.db');
query1.ParamByName('Suoshuhao').asstring:=edit1.Text;
query1.ParamByName('Suoquehao').asstring:=edit2.Text;
一按借阅按钮出现.....query1:parameter 'Suoshuhao' not found....的提示,(我没有TStorProc组件,能行吗?)
meijg 2000-07-14
  • 打赏
  • 举报
回复
wingsun是对的,还有你的sql语句中有两个zgbm,
另外,query好像没有execute方法吧,应该用execsql或者open
lowhand 2000-07-14
  • 打赏
  • 举报
回复
刚才写错了一些地方
其实就是将两个表的部分数据放到一个表中,我记得有这样的sql的语句:
(针对你这个问题是:)
insert into jydjb
values(sh,sm,ym,zgbh,jyz,zw,jyks,jysq)
select 表1的某些字段,表2的某些字段
from 表名1,表名2
lowhand 2000-07-14
  • 打赏
  • 举报
回复
其实就是将两个表的部分数据放到一个表中,我记得有这样的sql的语句:
(针对你这个问题是:)
insert into jydjb
values(sh,sm,ym,zgbh,jyz,zw,jyks,jysq)
select jydjh.sh,jydjh.sm,jydjh.ym,jydjh.zgbm,jydjh.jyz,jydjh.zw,jyks.jysq
from jydjh,jyks
fyje 2000-07-14
  • 打赏
  • 举报
回复
参数设置完成后,应使用query1.prepare,然后再query1.execute;
Wingsun 2000-07-14
  • 打赏
  • 举报
回复
SQL语句有错,改为:Insert Into jydjb (jydjh,sh,sm,ym,....) Values(Value1,Value2,Value2....)

5,386

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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