连接数据库的方法是设置连接字ConnectionString。连接Access的MDB文件型数据库:ADOQuery1->ConnectionString="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=e:\\testd.mdb";
连接MySQL网络数据库:ADOQuery1->ConnectionString= “DRIVER={MySQL ODBC 3.51 Driver}; \
SERVER=localhost;\
DATABASE=17kf8;\
USER=root;\
PASSWORD=mbi1001;\
OPTION=3; “;
注:MySQL ODBC 3.51 Driver中的版本号3.51是指ODBC for MySQL的版本,并不是MySQL的版本,两者不是一回事。
操作数据库无返值操作ADOQuery1->SQL->Text=String("update deviceServer set Error=0 where id>1");
ADOQuery1->ExecSQL();
ADOQuery1->Active=false;
ADOQuery1->SQL->Text=String("select * from deviceServer where IP=192.168.1.1");
ADOQuery1->Active=true;
int record_count=;
查询/有返值操作ADOQuery1->Active=false;
ADOQuery1->SQL->Clear();
ADOQuery1->SQL->Add("select * from NetAdapterInfo");
ADOQuery1->Active=true;
编辑操作if(ADOQuery1->Eof)ADOQuery1->Append();
else ADOQuery1->Edit();
ADOQuery1->FieldByName("Mac")->Value=MAC_data_to_str(MAC);
ADOQuery1->FieldByName("IP")->Value=IPStr;
ADOQuery1->FieldByName("State")->Value=(long)initialState;
ADOQuery1->FieldByName("Error")->Value=0;
ADOQuery1->FieldByName("UpdateTime")->Value=Now();
ADOQuery1->Post(); //每一次Append或者Edit后的编辑都要通过Post来保存。
ADOQuery1->First(); //移动到第一条记录
while(!ADOQuery1->Eof)
{ ADOQuery1->Edit(); //开始编辑
ADOQuery1->FieldByName("Error")->Value=0;
ADOQuery1->FieldByName("UpdateTime")->Value=Now();
ADOQuery1->Post(); //保存记录
ADOQuery1->MoveBy(1);//下移一条记录
}
删除操作for(int i=1;0<ADOQuery1->RecordCount;i++)
{ ADOQuery1->Delete();
}
操作MySQL实战:ADOQuery1.SQL.Text=”SET NAMES gbk;” //语句避免了 MySQL 的汉字乱码
ADOQuery1.ExecSQL();