» 首页 » 电脑_数码 » 编程 » 用Delphi向数据库中插入时间

用Delphi向数据库中插入时间

定义的代码如下:

var
a:string;
begin
a:='2005-6-14';
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADoQuery1.SQL.Add('Insert into 测试表(时间) values('+FormatDateTime('yyyy-mm-dd', StrToDate(Edit2.Text))+')');
ADOQuery1.ExecSQL;

ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('select * from 测试表');
ADOQuery1.Open;

end;

然后显示的时间是:1905-6-9

这是为什么阿?
问题补充:写错了~~没有看仔细就弄上来了~~
var
a:string;
begin
a:='2005-6-14';
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADoQuery1.SQL.Add('Insert into 测试表(时间) values('+FormatDateTime('yyyy''-''mm''-''dd', StrToDate(a))+')');
ADOQuery1.ExecSQL;

ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('select * from 测试表');
ADOQuery1.Open;

end;

测试表的时间用的是datetime类型


SQL语法的问题,只要把Insert into句改成下面这样就可以了:

ADoQuery1.SQL.Add('Insert into 测试表(时间) values('''+FormatDateTime('yyyy-mm-dd', StrToDate(a))+''')');

注意那些单引号。

SQL语法的问题,只要把Insert into句改成下面这样就可以了:

ADoQuery1.SQL.Add('Insert into 测试表(时间) values('''+FormatDateTime('yyyy-mm-dd', StrToDate(a))+''')');

注意那些单引号。

第一,你定义的变量 a 在这里面是干什么的?
第二,你插入数据库中的记录是来自于 edit2.text,不是 a
那么,你的edit2里面输入的是什么?
第三,你的数据库里面,测试表的时间用的是什么类型字段?
--SQL脚本
insert into Table1(Adate)
select getdate()

 相关问题
·用Delphi向数据库中插入时间
·急!C++用汉诺塔递归全排列程序出错...
·visual编译API最基本的函数总是出错
·如何我自己建立EXE文件来打开其他程序?
·我的Delphi学生管理系统在检测的时候没问题,但是在运行...
·请高手帮忙优化一下这条SQL语句
·在fortran中rand()的用法是怎样的?麻烦举个例子
·一、以下程序包含三个函数:sort,print,printfil,按照要...
·求一个批处理~!!
·求简单的php通用后台程序?
·在Textl中输入的任何字符,立即显示在Text2中。
·编写一类似QQ群聊的多人聊天程序
·请教这段是什么意思.
·关于学习asp.net
·pascal题目:机器人

 《用Delphi向数据库中插入时间》答案收集时间:2008-06-14 14:28:31



©2007 电脑技术问答录