三层中MySQL中存储Date类型出错(50分)

  • 主题发起人 主题发起人 3cat
  • 开始时间 开始时间
3

3cat

Unregistered / Unconfirmed
GUEST, unregistred user!
想把Date存成2000-02-03的格式,连MySQL总是说操作不可进行
但是连Oracle或SQL Server存储Date没问题,代码如下
(是C++Builder的,但道理应是一样的):
ClientDataSet1->Close();
ClientDataSet1->Params->Clear();
ClientDataSet1->CommandText = "insert into drive(ID,Birthday) values(:ID,:Birthday)";
ClientDataSet1->Params->CreateParam (ftInteger,"ID",ptInput);
ClientDataSet1->Params->CreateParam (ftDate,"Birthday",ptInput);
ClientDataSet1->Params->Items[0]->Value = StrToInt(EdtID->Text );
DateSeparator = '-';
ShortDateFormat = "yyyy-mm-dd";
ClientDataSet1->Params->Items[1]->Value = StrToDate(EdtBirthday->Text) ;
或者ClientDataSet1->Params->Items[1]->Value = FormatDateTime("yyyy-mm-dd", StrToDate(EdtBirthday->Text))
ClientDataSet1->Execute();
是不是MYSQL要设置什么,请帮帮忙,谢谢

 
出错信息如下:
Project testinterbase.exe raised exception class EDBEngineError with message
'operation not applicate'
 
喂...! 有人在吗? [:(]
为什么..没有人..回答??
Help Me !!!
 
StrToDate(EdtBirthday->Text)不对
应该写成StrToDate(FormatDateTime('yyyy-mm-dd',StrToDate(EdtBirthday->Text))
才行,如果不行,写成FormatDateTime('yyyy-mm-dd',StrToDate(EdtBirthday->Text)
MySQL的ADO或ODBC有问题,只能这么写
如果是Oracle是不会有问题
 
little_five_gqw:
谢谢你的帮助,可是没有什么作用。现在,只要我一写上存储Date类型,就没有反应,
程序没有死,但是也没有数据存入数据库。我用的是MyODBC-3.51.031,数据库是Linux下的
MySQL 4.0, 是不是MySQL自己的问题。你有MySQL的开发经验吗?可以教教我吗?谢谢
 
MyODBC-3.51.031的配置里找一找,我以前遇到不能插入整数,
在ODBC的配置里有很多选项,挨个试,如果不行,可以是MyOdbc
有问题,去www.mysql.com下载一个,也可以用Ado,我一直在用
Ado(www.mysql.com下载),没问题。当然也可以用dbexpress
只是要装delphi6的update2
 
接受答案了.
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
928
SUNSTONE的Delphi笔记
S
后退
顶部