数据录入及SQL的问题,请教高手!(150分)

  • 主题发起人 主题发起人 vagrant
  • 开始时间 开始时间
V

vagrant

Unregistered / Unconfirmed
GUEST, unregistred user!
各位好:
现做一个数据录入窗口,服务器是SQL SERVER,录入时的字段内容有四十多项,我用的是
TABLE,DBEDIT,EDIT,COMBOBOX,DBNAVIGATOR等,但在录入数据时,用TABLE.EDIT,最
后TABLE.POST可是后台的表里有的字段总是NULL,而没有录入,另SQL中定义的数据类型是
DATETIME,可录入时输入的数据格式总说不对,这是什么原因?在录入时如何对数据进行
检验?希望大家帮忙,最好能附代码及说明(越细越好)。

 
你是不是没有把SQL表的ALLOW UPDATES属性修改,
在SQL中sp_configure allow_updates 1 ,unconfigure
 
判断一下,是null就不录入
 
1.录入数据时,用TABLE.EDIT;->应该用Table.Append或Table.Insert。
2.有的字段总是NULL;->是否将EDIT,COMBOBOX的数据转换成数据字段。
3.数据格式总说不对;->用DBEdit编辑DateTime字段,设置字段缺省值为
Table.FieldByName('MyDate').AsDateTime := Date;看看格式。
4.在录入时如何对数据进行检验?;->在OnBeforePost事件中检查。
 
对于使用大型数据库,一般都是设计Client/Server类型的程序,因此建议不使用TTable
操作表,而使用TQuery,采用Select检索数据,使用Insert和Update插入和更新数据,
这对于多用户操作数据尤其重要。
 
谢谢各位大虾的指点
 
to somebody:
关于系统设置已经允许修改。
to sportsman
输入时不是NULL,但输入后查服务器上的数据时却是NULL,不知为什么?
to 郭玉梁
我在试试,应该说EDIT,COMBOBOX也是允许用字符的呀,
如Table.FieldByName('NAME').AsSTRING 这是可以的呀,在SQL中是不是就没有单独的
日期或者时间类型的数据?在对应每一个EDIT OR DBEDIT的POST前检查,是否在每一个
DBEDIT的ONCLICK中都在设TABLE。APPEND?
TO Zoushikun:
对数据库的设计不熟,也不太清楚它们的差别,不知是不是有关于数据录入这方面的例
子,可以给我提供吗?
哪位有这方面的例子,是不是可以给我点?
在这儿先谢谢了。
 
问题太简单,还是什么原因,怎么就没有人给个好的回答呢?
 
Table.Insert 或Table.Append
要保证能对数据库写!
另外Post的时候不能对多条操作!
即Insert或Append一条就Post一下!
 
在成批输入数据时,先让table.cachedupdate为真,并且表处于append状态,则录入的
数据使用table.ApplyUpdates,就可以更新数据了。
 
use query+updatesql especially in c/s
query.cachedupdate := true;
but must use post when you change any record.
 
谁便用什么放数据都没有关系,关键是最后转成sql语句不要错。不同的数据类型对语句的
要求是不一样的,你要查一下。至于数据没写进去,你跟踪一下程序,看看sql语句是什么
就可以看出错误了。
 
还敢用DBNAVIGATOR,更奇怪的问题还多着呢,
还是自己编吧
 
后退
顶部