| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
共有 96 人关注过本帖
标题:如何解决宽度不够显示*号
取消只看楼主 加入收藏
chychychy
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:371
专家分:128
注 册:2015-4-18
结帖率:100%
收藏
 问题点数:20 回复次数:2 
如何解决宽度不够显示*号
考生选考情况.rar (547 Bytes)

*直接用SELECT...INTO CURSOR 自动创建临时表时,根据第一条记录的数值长度分配字段宽度。如果后续记录的数值位数超过该宽度,就会显示 *。
一、改为先建立空表,后插入数据,为何还是*号
二、如何用简洁方式在查询表尾部加一统计行,只合计数值列的值
图片附件: 游客没有浏览图片的权限,请 登录注册
图片附件: 游客没有浏览图片的权限,请 登录注册

图片附件: 游客没有浏览图片的权限,请 登录注册

程序代码:
* 先创建空表结构
CREATE CURSOR 考生选考情况统计 ;
    (外语语种 C(20),    代码 C(10),    选考科目组 C(20),    考生数 N(10),;
    物理 N(8),; && 直接定义15位宽度
    化学 N(8),;
    生物 N(8),;
    政治 N(8),;
    历史 N(8),;
    地理 N(8))
BROWSE
* 插入数据
INSERT INTO 考生选考情况统计 ;
    SELECT 外语语种, 代码, 选考科目组, 考生数,;
    IIF('04' $ 代码, 考生数, 0),;
    IIF('05' $ 代码, 考生数, 0),;
    IIF('06' $ 代码, 考生数, 0),;
    IIF('07' $ 代码, 考生数, 0),;
    IIF('08' $ 代码, 考生数, 0),;
    IIF('09' $ 代码, 考生数, 0);
    FROM 考生选考情况
* 在数据表最后插入一条记录

BROWSE



[此贴子已经被作者于2025-4-22 09:31编辑过]

昨天 09:29
chychychy
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:371
专家分:128
注 册:2015-4-18
收藏
得分:0 
回复 2楼 fyyylyl
感谢,这样可以。
但是继续求教,我用10个0,结果如图1,前面10后面的8;我用5个0,如图2,前面5后面8,为什么会这样?什么原因啊
图片附件: 游客没有浏览图片的权限,请 登录注册
图片附件: 游客没有浏览图片的权限,请 登录注册

程序代码:
SELECT 外语语种, 代码, 选考科目组, 考生数,;
    IIF('04' $ 代码, 考生数, 00000) AS 物理,;
    IIF('05' $ 代码, 考生数, 00000) AS 化学,;
    IIF('06' $ 代码, 考生数, 00000) AS 生物,;
    IIF('07' $ 代码, 考生数, 00000) AS 政治,;
    IIF('08' $ 代码, 考生数, 00000) AS 历史,;
    IIF('09' $ 代码, 考生数, 00000) AS 地理;
    FROM 考生选考情况



[此贴子已经被作者于2025-4-23 16:02编辑过]

昨天 17:39
chychychy
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:371
专家分:128
注 册:2015-4-18
收藏
得分:0 
回复 4楼 schtg
谢谢,运行可以,又学用一个函数。
我用deepseek,在查询文件后增加一汇总行,请教有没有更简洁的方式
程序代码:
SELECT 外语语种,代码,选考科目组,考生数,;
    CAST(IIF('04' $ 代码, 考生数, 0) AS N(10,0)) AS 物理,;
    CAST(IIF('05' $ 代码, 考生数, 0) AS N(10,0)) AS 化学,;
    CAST(IIF('06' $ 代码, 考生数, 0) AS N(10,0)) AS 生物,;
    CAST(IIF('07' $ 代码, 考生数, 0) AS N(10,0)) AS 政治,;
    CAST(IIF('08' $ 代码, 考生数, 0) AS N(10,0)) AS 历史,;
    CAST(IIF('09' $ 代码, 考生数, 0) AS N(10,0)) AS 地理 ;
    INTO CURSOR 考生选考情况统计 READWRITE;
    FROM 考生选考情况
BROWSE 

* 计算各科总和
SUM 物理, 化学, 生物, 政治, 历史, 地理 ;
    TO ARRAY aTotals 

* 插入汇总行
INSERT INTO 考生选考情况统计 ;
    (外语语种, 代码, 选考科目组, 考生数, 物理, 化学, 生物, 政治, 历史, 地理) ;
    VALUES ;
    ('汇总行', ' ', '总计各科目人数',0,;
    aTotals[1], aTotals[2], aTotals[3], aTotals[4], aTotals[5], aTotals[6])
BROWSE 



[此贴子已经被作者于2025-4-23 16:01编辑过]

2 小时前
快速回复:如何解决宽度不够显示*号
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.047476 second(s), 12 queries.
Copyright©2004-2025, BC-CN.NET, All Rights Reserved