求救!数据表的问题!(200分)

  • 主题发起人 主题发起人 SomeBody
  • 开始时间 开始时间
S

SomeBody

Unregistered / Unconfirmed
GUEST, unregistred user!
我做一个分班程序!自己的思路是将整个数据表按几个字段排序后!如果要分成三个班!就按
第1个记录的班级字段为一个班级名称,如计算机01班!第二个记录为计算机02班!第三个班为计算机
03班,第四个就为01班!就这样达到分班的目的!可是具体实现的时候我就不知道怎么写了!
各位谁能给点提示?另外就是还要加一个学号!可以每个班依次添就是了!
还有问一下如果用TABLE 不用QUERY是不是一样写SQL语言有效啊!是不是和QUERY一样的格式用
SQL语言啊?
 
TTable不能写SQL语言。
学号可以在Insert的时候写程序来自动添加,先选出已有的最大值,再加1成为新添的学号
学号有了以后,分班可以用SQL语言实现:
update 表名 set 班级字段='计算机'+数字转换称字符的函数((序号字段 mod 3)+1)
数字转换成字符的函数各个数据库系统不一样
比如Oracle可以用To_Char
 
是啊,TTable 不能写SQL 语句的! 只能用TQuery 或TStoredProc
 
TTable不能写SQL语句的,可以使用TQuery,你可以将班级字段和另一个班级表相关联,然后
用SQL语句检索就行了。
 
TTable不能写SQL 语句,建议使用TQuery。
 
我一般都用TQuery,只有小表才用到TTable。johnliujun说的方法可行。
 
把你所有的记录都给一个编号id,班名称为一个字段class,从1到X,然后写查询语句
,利用UPDATE 语句
UPdate 表名 set class=计算机01班 where (id+1)%2=0
UPdate 表名 set class=计算机02班 where id%2=0
UPdate 表名 set class=计算机03班 where id%3=0
用TQUERY这样把查询语句写好,执行即可
TABLE是不能写SQL语句的
 
头几天老是上不了大富翁,不好意思!可能是我还没有说清楚啊!
我所操作的表是一个原始数据表!里面有新生必要信息!·但是没有班号,学号!但是我想
对他们这样分班!因为分班要考虑学生成绩!性别!还有就是来源等等学多问题!我在分班的时候原始
数据不能动!只能对它进行操作后另存为另外一个表,希望有人能给我提个比较好的解决办法!
我在UPDATES的时候经常说有个什么错误!里面有个什么KEY/……错误!不知道怎么解决!
我用的原始表是一个VF表!还有就是我在SELECT COUNT(***)FROM (***)我想把结果显示在
一个EDIT。TEXT上!怎么办啊?
 
用TBatchMove 另存到另外一个表,
Table1.RecordCount 就知道记录数,不用SELECT COUNT(***)FROM (***) 什么的
如果要用也可以
Edit1.Text:=Query1.FieldByName('1').AsString;
 
不加序号可以吗?还有我现在用UPDATA的时候老是说我不能更新一个READ—ONLY表!我用的是VF
表,调用EDIT,还有就是设置QUERY里面的几个属性了的!对不起,我没有在自己的机子上
上网所以不能帖上来看。
to tinytao:
我用类似这样的句子的时候他说找不到1这个字段
Edit1.Text:=Query1.FieldByName('1').AsString
 
‘1’是你QUERY查询返回的结果字段,例如:SELECT COUNT(***)FROM (***)
则Edit1.Text:=Query1.FieldByName('count of ***').AsString
 
找不到?改这样如何:
SELECT COUNT(*) as Total FROM (***)
//-------------------
Edit1.Text:=Query1.FieldByName('Total').AsString;
 
也不行啊!
 
提示找不到字段?这样也找不到?我服了。
 
在BDE Administrator中检查该别名的Open Mode是否设为Read/Write。
另:
Edit1.Text:=Query1.Fields[0].AsString;
//显示Sum, Count结果的话这样更好。因为Sum, Count的结果只生成一个字段,因此
//用Fields[字段索引] 的方法访问,简单且速度快。
 
老兄:你的問題已經過期n天了,請自己結束或提前,謝謝
 
不好意思!很久没有来了!现在结束了。
 
多人接受答案了。
 
后退
顶部