CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  PowerBuilder >  DataWindow

真的的pb编程高手,请你们进来走走!!谢谢!

楼主sure_java()2004-12-01 14:38:27 在 PowerBuilder / DataWindow 提问

Bind   parameter   value   for   ':20'   is   too   big   (3)  
   
  No   changes   made   to   database.  
   
  INSERT   INTO   "t_jzgjbxx"   (   "jzg_id",   "jzgxm",   "xb",   "bm_id",   "jg_id",   "zw_id",   "zc_id",   "xl_id",   "csrq",   "txdz",   "yzbm",   "gl",   "drsj",   "dcsj",   "rysf",   "gzzd",   "zgxl",   "sfsz",   "szzw",   "sfzd",   "zdsj",   "sfbzr",   "sfyx",   "sfdzld"   )   VALUES   (   ?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,)  
  任然是这个错误,我是通过定义结构,在传递的参数。大概是这样的:dw_1.object.[字段名][行号]=结构名.结构变量。我在“保存”时,数据窗口的行里面显示了数据的,但是就是提交不成功!(说明我定义的结构是将数据传入到我的数据窗口了的,只是没有办法提交,提示的错误就是上面的错误)  
   
   
  请问咋个办,谢谢各位大哥  
   
  问题点数:0、回复次数:13Top

1 楼sure_java()回复于 2004-12-01 15:08:24 得分 0

Bind   parameter   value   for   ':20'   is   too   big   (3)  
   
  No   changes   made   to   database.  
   
  INSERT   INTO   "t_jzgjbxx"   (   "jzg_id",   "jzgxm",   "xb",   "bm_id",   "jg_id",   "zw_id",   "zc_id",   "xl_id",   "csrq",   "txdz",   "yzbm",   "gl",   "drsj",   "dcsj",   "rysf",   "gzzd",   "zgxl",   "sfsz",   "szzw",   "sfzd",   "zdsj",   "sfbzr",   "sfyx",   "sfdzld"   )   VALUES   (   ?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,)  
  任然是这个错误,我是通过定义结构,在传递的参数。大概是这样的:dw_1.object.[字段名][行号]=结构名.结构变量。我在“保存”时,数据窗口的行里面显示了数据的,但是就是提交不成功!(说明我定义的结构是将数据传入到我的数据窗口了的,只是没有办法提交,提示的错误就是上面的错误)  
   
   
  请问咋个办,谢谢各位大哥  
  Top

2 楼balloonman2002()回复于 2004-12-01 15:10:41 得分 0

估计是你要插入20这个数字都某个数值型字段,结果你INSERT时语句错误的写成了字符串':20'   ,因此在字符串转换为数字时由于有冒号:,导致数值溢出,提示TOO   BIG,或者是你要插入一个字符字段,你插入的是':20'   ,宽度超出列宽,导致TOO   BIG,这个具体看你的字段类型,因此建议:  
   
  如果是要插入数字,可以:  
   
  long   ll_tmp  
   
  ll_tmp   =   20  
  insert   into   "x"   values(:ll_tmp);  
   
  如果是要插入字符,可以:  
   
  string   ls_tmp  
   
  ls_tmp   =   "20"  
  insert   into   "x"   values(:ll_tmp);  
   
  不要人为的单独加其他的单引号或冒号,系统会自动加的Top

3 楼sh_zll()回复于 2004-12-01 15:20:41 得分 0

不知道你具体用的什么,我用的是pb9和sql2000,一般我是用dw的update保存数据窗口中的数据到数据库的;  
   
  1.右键单击数据窗口dw_1,点击Modify   DataWindow进入datawindow.  
  2.菜单上rows一项选择单击update   properties  
  3.选择update.窗口右上角table   to   update输入你所要存进数据的表t1(数据窗口dw_1应该有类似于select   a,b,c   from   t1的sql语句或存储过程与表t1相对应,一般select   全部列,可以避免很多错误,工具栏有个SQL,点击里面写SQL语句的)  
  左下角updatable   columns选择要保存的列,右下角unigue   key   column选择表的主键(一般为表的id)  
  4.cmd_save,保存命令中:  
  if   dw_1.update()=-1   Then  
  rollback;//回滚  
  return  
  end   if  
   
  commit;//提交  
   
  MessageBox("提示","数据保存成功!")  
   
  另外,请检查一下定义的几个地方的列的数据类型和数据长度是否一致。  
   
  我也用了PB没多久。大致意思是这样,可能不是很准确,请见谅。Top

4 楼sure_java()回复于 2004-12-01 16:53:50 得分 0

非常感谢您的详细解释。我这边都没有问题:我原来做过,没有问题的,但是这次就有问题,不知道咋个办拉。五五……Top

5 楼mnsiii(水流花谢两无情)回复于 2004-12-01 21:41:34 得分 0

这个你要查出那里的错误,你直接使用数字试验一下,如果没问题就说明你的结构中的某个变量除了问题。一般这个情况主要是你的格式有问题,仔细检查一下!Top

6 楼sun1976(嫁给我,你就是我的一妾)回复于 2004-12-02 11:07:40 得分 0

sfzd不够长  
  Top

7 楼wlineGG(一头雾水)回复于 2004-12-02 21:14:23 得分 0

还有一个办法,就是将dw.update()改写为:dw.saveas(),然后在弹出的窗口提示输入文名时,选择保存为SQL然后再去看这个SQL文件,就可以找出是什么原因了。百试百灵的哦!Top

8 楼wsx2005(生性好学)回复于 2004-12-10 14:51:41 得分 0

sqlca.sqlerrtext错误全中文显示哦Top

9 楼tmxkdldw(tmxkdldw)回复于 2004-12-13 11:36:39 得分 0

这个问题俺会,不过不是高手.嘿嘿Top

10 楼jxjrsuibian(奔三啦!)回复于 2005-01-08 16:24:26 得分 0

我碰到这种问题往往都是这样调试的:在数据窗口的sqlpreview事件中把sqlsyntax参数弹出或写到文件中,一看基本上就有数了,如果还不行就把sql拷到数据库画板中一执行错误就很清楚了Top

11 楼freedom2001(天翔)回复于 2005-01-08 21:32:28 得分 0

还是想办法把SQL打出来,然后字段和值对照看一下。  
  Bind   parameter   value   for   ':20'   is   too   big   (3)明显是说字段太长了  
  还有  
  INSERT   INTO   "t_jzgjbxx"   (   "jzg_id",   "jzgxm",   "xb",   "bm_id",   "jg_id",   "zw_id",   "zc_id",   "xl_id",   "csrq",   "txdz",   "yzbm",   "gl",   "drsj",   "dcsj",   "rysf",   "gzzd",   "zgxl",   "sfsz",   "szzw",   "sfzd",   "zdsj",   "sfbzr",   "sfyx",   "sfdzld"   )   VALUES   (   ?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,)  
  你自己不知道看这个能不能看出问题来,最后多了个,Top

12 楼ouyangwu(独者)回复于 2005-01-09 22:37:57 得分 0

楼上那么多方法,应该查出来了吧,呵  
  如果说原因的话,我想   一定是balloonman2002(http://blog.csdn.net/balloonman2002)   说的  
  “估计是你要插入20这个数字都某个数值型字段,结果你INSERT时语句错误的写成了字符串':20'   ”这种原因  
  Top

13 楼zlfh(千江月)回复于 2005-01-11 10:31:40 得分 0

字段长度不够,具体哪个要自己去找,别人无法帮忙的.   可以试着输出你要保存的dw的数据,一一查看.Top

相关问题

  • PB网络编程
  • 请问pb怎样进行socket编程?
  • 那位有PB的编程规范哦?
  • 如何在PB下进行word编程?
  • 编程与MM???你们选什么???
  • delphi新手,求一delphi编程规范(附一简洁pb编程规范)
  • PB中的RichTextEdit如何编程改变文本的字体?
  • 用PB编程实现动态滚动的功能
  • 上海, 征召PB编程人员, 要有一定水平。 zhaowbs@online.sh.cn
  • 数学和pb以及编程的关系.

关键词

  • 字段
  • 数据
  • 结构
  • 语句
  • 错误
  • 保存
  • drsj
  • dcsj
  • jzgjbxx
  • gzzd

得分解答快速导航

  • 帖主:sure_java

相关链接

  • PowerBuilder类图书
  • PowerBuilder类源码下载

广告也精彩

反馈

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