急C++builder 连接SQL server数据库的有关问题

急,求助C++builder 连接SQL server数据库的问题
我是刚开始接触C++builder和SQL server数据库的,十足的菜鸟.

 TABLE1是表名,number是列名,receive_data 是需要查询的内容
用了一个ADOConnection和一个ADOQuery;
ADOConnection1的ConnectionString指向没问题,并测试连接正确,ADOQuery1的Connection->ADOConnection1
下面是我遇到的问题

  AnsiString sql;
  AnsiString temp;

  sql="Select receive_data from TABLE1 where number ='"+Edit2->Text+"'";
  ADOQuery1->Connection=ADOConnection1;
  ADOQuery1->SQL->Clear();
  ADOQuery1->SQL->Add(sql);

  temp = ADOQuery1->FieldByName("receive_data")->AsString;
  ADOQuery1->Open();
运行到 temp = ADOQuery1->FieldByName("receive_data")->AsString;
就会出现




而且ADOQuery1->Active该成true 就会出现下面的错误提示



求各位高手帮忙看看.

------解决方案--------------------
先Open,再FieldByName
Active在设计时不要设成true
ADOQuery1->Connection = ADOConnection1;
ADOQuery1->Close();
ADOQuery1->SQL->Clear();
ADOQuery1->SQL->Add(sql);
ADOQuery1->Open();
temp = ADOQuery1->FieldByName("receive_data")->AsString;
------解决方案--------------------
没有打开数据集以前就读取字段内容,肯定要报错的。

------解决方案--------------------
ADOQuery1->Connection=ADOConnection1;
ADOQuery1->Close();
ADOQuery1->SQL->Clear();
另外 你的ADOConnection1 连上数据库了吗?
------解决方案--------------------
我刚开始也老遇到这样的错误,设置参数也要分先后的。多做几次就好了。