BCB中执行SQLServer的远程存储过程,应采用TADOConnection与TADOStoreProc组件组合使用。其中TADOConnection组件作为连接数据库,而TADOStoreProc组件则作为运行存储过程。
1.连接数据库void __fastcall TDataModule::OpenADOConnection()
{
ADOConnection1->ConnectionString = "...";
ADOConnection1->LoginPrompt = false;
try
{ADOConnection1->Connected = true;
}catch(...)
{//TODO: Show Database Open Error Message
return;
}
return;
}
2. 设置存储过程
(1)在BCB中最好采用设计器来设置TADOStoreProc组件的存储过程名,这样可以自动将存储过程的参数添加。记得在Build前将TADOConnection的Connected设为false就可以了。
(2)在运行期采用Parameters属性来设置存储过程参数StoredProc1->Close();
StoredProc1->ParamByName("@ParaID")->AsString = edtID->Text;
//其它参数
(3)采用ExecProc方法或Open方式运行存储过程if(!StoreProc1->Prepared)
StoreProc1->Prepare();
StoreProc1->ExecProc();
(4)最后可以通过参数或者TDataset来获取结果Label1->Caption = StoreProc1->ParamByName("@ReturnValue")->AsString;