帮帮忙,这些问题可能很简单,但我却无法解决,Delphi4 + Sql Server7.0(300分)

  • 主题发起人 主题发起人 LittleSong
  • 开始时间 开始时间
L

LittleSong

Unregistered / Unconfirmed
GUEST, unregistred user!
1.我用TTable控件创建一个表,为何其中的varchar字段都只有一位长度,而我
设的是50.
2.我的程序中日期时间只能使用 mm/dd/yy 日期格式,如使用 yy/mm/dd 格式
出错,为什么? 控制面板中设置的应无问题,bde中似乎也没错.
3.如下结构二个表:
一.部门名称,父部门.
二.部门名称,数据1,数据2,数据3...
表一和表二种的部门名称一一对应,表一中叶子部门在表二中的数据都已
经求出,表一中非叶子节点在表二中数据有什么好的办法求出?
表一有八到十层,二百多个叶子部门,部门名称和层次常变.
4.TTable中自动计算字段的用法.


 
父部门数据与子部门数据之间的关系是什么。
父部门的子部门的子部门与父部门算不算父子关系。
假设是求和关系, 而且只考虑两层之间的关系。
select 部门名称,data1的和=sum(table2.data1)
from table1,table2
where table1.部门=table2.部门 and table1.部门=str_bm

若关系为若干曾累计,直接用sql语句好象求不出来,
建议用存储过程编一段程序来实现。

 
1.VarChar是自动加长的.另外,这好像是个Delphi的Bug
2.像这种日期格式的问题,一般都是Control Banel 和BDE的设置不对
3..用SQL 的Store Procedure吧。这样能快点
4.自动计算字段在OnCalcFields中触发,怎么用得您想干吗了。
 
1、DELPHI 不支持,实际上是BDE不支持,试试ODBC
2、TField.Displaytype里设置,可以双击TABLE,ADD ALL FIELDS,点日期性字段
设置DISPLAYTYPE为YYYY-MM-DD
 
2.SQL server7的SQL语句中日期的格式就是mm/dd/yy.除SQL
语句外,日期格式由控制面板控制,并不影响SQL Server.
4.在onCalcFields事件中写入你的计算公式.
如:yourField.Value:=Field1.Value+Field2.Value*Field3.Value;
计算字段在字段编辑器中添加.
 
1 为什么不用TQuery建表?
2 不是你本机的问题,是Server端的问题。试试 SET DATEFORMAT
 
1. varchar的定义是根据你输入的串长度确定本身长度, 而50是你输入的最大允许
长度. 这可不是BUG.
2. SQLSERVER的日期格式是MM/DD/YY, 可以通过更改控制面版使你的程序兼容,
另外, 输入成YYYY-MM-DD绝对可以成功.
3. 不太明白.
4. OKMY的说法是对的, 你还可以看看DEMO/HELP.

 
谢谢各位大侠:
对于问题1,2,4容小弟回去一试.对于问题3,回请各位大侠多多费心,小弟初学delphi和sql server 尚未用过存储过程.如那位大侠能提供一范例实在感激不尽,
要求如有过分还请大侠多多包含.
 
2 这是Server的问题,Marlove说的是对的。SQL Server提供一个SP处理这个问题。
好象是SP_SetDateFormat,具体查查SQL Server的Help。在TDataBase控件的
初始化事件中可以通过这个SP来设置该数据库想要的日期格式。
 
多人接受答案了。
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
D
回复
0
查看
2K
DelphiTeacher的专栏
D
后退
顶部