CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
山寨机中的战斗机! 程序优化工程师到底对IT界有没有贡献
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Delphi >  数据库相关

跪求!!!!想了几天了,郁闷死了

楼主zbk19821023()2005-01-02 15:51:26 在 Delphi / 数据库相关 提问

建了一个视图由base,buy2个表组成:buy(顺序码,条形码,进价,采购数量,采购日期)base(条形码,书籍名称,库存量,书籍名称,作者,出版社,零售价)。DBGrid显示的是视图的内容。然后我要输入数据  
  form1.ADOQuery1.SQL.Clear;  
  form1.ADOQuery1.SQL.Add('insert   into   base   values(:条形码,:书籍名称,:库存量,:作者,:出版社,:零售价)');  
  form1.ADOQuery1.Parameters.ParamByName('条形码').Value:=strToFloat(form1.Edit1.Text);  
  form1.ADOQuery1.Parameters.ParamByName('书籍名称').Value:=form1.Edit2.Text;  
  form1.ADOQuery1.Parameters.ParamByName('库存量').Value:=strToInt(form1.Edit7.Text);  
  form1.ADOQuery1.Parameters.ParamByName('作者').Value:=form1.Edit3.Text;  
  form1.ADOQuery1.Parameters.ParamByName('出版社').Value:=form1.Edit4.Text;  
  form1.ADOQuery1.Parameters.ParamByName('零售价').Value:=strToFloat(form1.Edit5.Text);  
  form1.ADOQuery1.ExecSQL;  
  我用这样输入但是不能执行。因为SQL   SERVER里视图不能自动更新,所以我就想直接对基本表进行操作,但是我怎么也找不到一个办法解决。所以要请大家帮帮忙,我想几天了~~都郁闷死了  
  问题点数:20、回复次数:17Top

1 楼zbk19821023()回复于 2005-01-02 16:05:09 得分 0

大家给意见的时候请详细点,我怕我看不懂~~~嘿嘿Top

2 楼hatum(hatum)回复于 2005-01-02 16:57:56 得分 0

关注Top

3 楼Kshape(C/C++初学者~~~~)回复于 2005-01-02 17:03:05 得分 20

这样吧!  
  with   ADOQuery1   do  
  begin  
      sql.clear;  
      sql.add('insert   into   base   values(:条形码,:书籍名称,:库存量,:作者,:出版社,:零售价)');  
      //最好加上你要录入的表中的字段名称,以防出错  
      //比如:insert   into   base(a,b,c,d,e,f)   values(:条形码,:书籍名称,:库存量,:作者,:出版社,:零售价)'  
      Parameters.ParamByName('条形码').Value:=strToFloat(form1.Edit1.Text);  
      Parameters.ParamByName('书籍名称').Value:=form1.Edit2.Text;  
      Parameters.ParamByName('库存量').Value:=strToInt(form1.Edit7.Text);  
      Parameters.ParamByName('作者').Value:=form1.Edit3.Text;  
      Parameters.ParamByName('出版社').Value:=form1.Edit4.Text;  
      Parameters.ParamByName('零售价').Value:=strToFloat(form1.Edit5.Text);  
      ExecSQL;  
  end;  
   
  //没有编译,如果有问题,请说出问题是什么Top

4 楼hatum(hatum)回复于 2005-01-02 17:07:35 得分 0

SQL   SERVER里视图不能自动更新     那如果要更新视图   怎么处理呢?Top

5 楼zbk19821023()回复于 2005-01-02 17:13:33 得分 0

和我的有区别吗?  
  Top

6 楼zbk19821023()回复于 2005-01-02 17:16:11 得分 0

错误是ADOQuery1:Parameters‘条形码’not   found  
  Top

7 楼Kshape(C/C++初学者~~~~)回复于 2005-01-02 17:30:17 得分 0

你数据库里的字段名称是什么?  
  有“条形码”吗?  
   
  还有:强烈建议你不要用中文名作字段名称!Top

8 楼Kshape(C/C++初学者~~~~)回复于 2005-01-02 17:33:21 得分 0

这样吧!  
  with   ADOQuery1   do  
  begin  
      sql.clear;  
      sql.add('insert   into   base   values(:a,:b,:c,:d,:e,:f)');  
      //最好加上你要录入的表中的字段名称,以防出错  
      //比如:insert   into   base(a,b,c,d,e,f)   values(:条形码,:书籍名称,:库存量,:作者,:出版社,:零售价)'  
      Parameters.ParamByName('a).Value:=strToFloat(form1.Edit1.Text);  
      Parameters.ParamByName('f).Value:=form1.Edit2.Text;  
      Parameters.ParamByName('c).Value:=strToInt(form1.Edit7.Text);  
      Parameters.ParamByName('d').Value:=form1.Edit3.Text;  
      Parameters.ParamByName('e).Value:=form1.Edit4.Text;  
      Parameters.ParamByName('f').Value:=strToFloat(form1.Edit5.Text);  
      ExecSQL;  
  end;  
   
  这样再出问题就没天理了!!!  
   
  还有:建议你不要用中文名作变量Top

9 楼hmily1688(没什么好说的)回复于 2005-01-02 17:33:52 得分 0

建议这样直接写成sql语句  
  query1.close;    
  query1.sql.text:='insert   into   base(a,b,c,d,e,f)   values('  
      +   form1.Edit1.Text+','+form1.Edit2.Text+','+form1.Edit7.Text+','  
  类的,其余的你自己添加,注意要与库中的格式相同。  
  你可以用showmessage(query1.sql.text)在query1.execsql前来检验一下语句是否正确。  
   
  祝在新的一年中成为Delphi大拿Top

10 楼zbk19821023()回复于 2005-01-02 17:34:01 得分 0

晚上,我再来,希望大家能帮帮我Top

11 楼pplushuang()回复于 2005-01-02 19:00:44 得分 0

视图其实就是一组SQL语句,如果是单表视图的话,写的上面的语句,在没有约束的情况下,能实现更新。  
  便如果是多表视图的话。更新起来是比较困难的。可以直接对视图相关的表进行操作。Top

12 楼hmily1688(没什么好说的)回复于 2005-01-02 19:16:46 得分 0

兄弟我理会错你的意思了。直接更新用来组成你的视图的表,再刷新一下视图就OK了,在我的印象中SQL   Server的多表视图用AdO时也能更新Top

13 楼zbk19821023()回复于 2005-01-02 20:04:34 得分 0

谢谢大家的帮助啊!!!~我来了~~~现在去试试   Kshape()的方法  
   
  Top

14 楼zbk19821023()回复于 2005-01-02 20:07:26 得分 0

Kshape()   告诉你一个不幸的事  
   
   
  我试试了。还不行  
   
  你有油箱吗??  
  我把程序发给你。你看看  
   
  Top

15 楼keple(今天你爬了没?)回复于 2005-01-02 20:15:12 得分 0

呵呵!!Top

16 楼zbk19821023()回复于 2005-01-02 20:18:26 得分 0

还有人能解决这个问题吗???  
   
  我喊一天了~~~都用了跪求这样的词语了~~~~诶~~~~`Top

17 楼zbhfyl(沙新月明)回复于 2005-01-03 12:52:25 得分 0

是不是因为他们不想让你跪呀????这么没志气Top

相关问题

  • 救命 rave 问题 困扰 几天 了 跪求
  • 跪求解答!郁闷几天了,一个关于MySQL C API 的问题。
  • cao,这几天学linux,烦死了,散分
  • 郁闷死了,kdevelop超级简单问题,搞了几天
  • 这几天忙死了,上来送分放松自己
  • 哭天喊地 跪求 达人帮助
  • 冬天赤腿跪在雪地中求......
  • 冬天赤腿跪在雪地中求......
  • 冰天雪地跪地祈求答案~
  • 跪求呀,真的急死了,asp+cgi的问题!

关键词

  • 视图
  • 语句
  • 作者
  • sql
  • parambyname
  • 条形码
  • adoquery
  • 库存量
  • edit
  • 字段名

得分解答快速导航

  • 帖主:zbk19821023
  • Kshape

相关链接

  • Delphi类图书
  • Delphi类源码下载
  • Delphi控件下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo