首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ Builder >

bcb+access中怎的按时间查询记录呀

2012-12-30 
bcb+access中怎样按时间查询记录呀?是这样的,在数据库中我以时间为主键,表中的时间格式为:“2012-1-5 08:25

bcb+access中怎样按时间查询记录呀?
是这样的,在数据库中我以时间为主键,表中的时间格式为:“2012-1-5 08:25:15”,现在我要在ComboBox1、ComboBox2、ComboBox3、ComboBox4、ComboBox5、ComboBox6中分别选择输入年、月、日、时、分、秒。输入之后就点击一个botton1(查询)按钮就可以定位到所要查询的记录?例如我要在这里查“2012-1-5 08:25:15”这条记录,我在ComboBox1、ComboBox2、ComboBox3、ComboBox4、ComboBox5、ComboBox6中输入这个时间就弹出我想要查的结果。

原本我是这么写的:
void __fastcall TForm3::ComboBox1Change(TObject *Sender)
{
  Form1->ADOQuery1->Active=False;
  Form1->ADOQuery1->Parameters->Items[0]->Value=ComboBox1->Text;//指定动态参数值
  Form1->ADOQuery1->Active=True;
}

......(中间省略的ComboBox2、ComboBox3、ComboBox4、ComboBox5程序都是类似的)

void __fastcall TForm3::ComboBox6Change(TObject *Sender)
{
  Form1->ADOQuery1->Active=False;
  Form1->ADOQuery1->Parameters->Items[0]->Value=ComboBox6->Text;//指定动态参数值
  Form1->ADOQuery1->Active=True;
}
但老是弹出这个提示“list index out of bounds”,请求各位老师帮小弟答疑解惑,万分感谢!
[解决办法]
从错误判断应该没有找到参数
Form1->ADOQuery1的sql语句要有参数的
Form1->ADOQuery1->SQL->Text = "select * from test where dt=:mydt";
[解决办法]
access的时间是加##
比如要查询2012-1-1后的记录
String sql="select * from 表名 where dt>=#2012-1-1# ";

热点排行