Adoquery 查询字段结果怎么取最新值?
Adoquery 查询字段结果怎么取最新值?比如某一字段有重复,怎么得到最新的记录?用sql语言?
Select怎么嵌套?
[解决办法]
__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;
}
[解决办法]