TADOConnection ConnectionString TADOQuery Recordset
来源:互联网 发布:健康体检报告软件 编辑:程序博客网 时间:2024/05/17 23:39
__fastcall TForm2::TForm2(TComponent* Owner) : TForm(Owner){ /* Login details */ String UserName = "db_user_name"; String PassWord = "db_pass_word"; String Server = "my.db.server"; /* Connection String */ String ConnString = "Provider=SQLOLEDB.1;Persist Security Info=False;"; ConnString += "User ID=%s;Password=%s;Data Source=%s;Use Procedure for Prepare=1;"; ConnString += "Auto Translate=True;Packet Size=4096;Use Encryption for Data=False;"; ConnString += "Tag with column collation when possible=False"; /* SQL Query */ String SQLStr = "SELECT * FROM customer WHERE customer_id = :AnId;"; /* All ADO variables */ TADOConnection* ADOConn; TADOQuery* ADOQuery; TDataSource* DataSrc; TParameter* Param; /* Create an ADO connection. */ ADOConn = new TADOConnection(this); /* Set up the connection string. */ ADOConn->ConnectionString = Format(ConnString, ARRAYOFCONST((UserName, PassWord, Server))); /* Disable login prompt. */ ADOConn->LoginPrompt = False; try { ADOConn->Connected = true; } catch (EADOError& e) { MessageDlg("Error while connecting", mtError, TMsgDlgButtons() << mbOK, 0); return; } /* Create the query. */ ADOQuery = new TADOQuery(this); ADOQuery->Connection = ADOConn; ADOQuery->SQL->Add(SQLStr); /* Update the parameter that was parsed from the SQL query: AnId. */ Param = ADOQuery->Parameters->ParamByName("AnId"); Param->DataType = ftInteger; Param->Value = 1; /* Set the query to Prepared--it will improve performance. */ ADOQuery->Prepared = true; try { ADOQuery->Active = true; } catch (EADOError& e) { MessageDlg("Error while connecting", mtError, TMsgDlgButtons() << mbOK, 0); return; } /* Create the data source. */ DataSrc = new TDataSource(this); DataSrc->DataSet = ADOQuery; DataSrc->Enabled = true; /* Finally, initialize the grid. */ DBGrid1->DataSource = DataSrc;}ADODataSet1->Recordset = ADOCommand1->Execute();