//--在此先要感谢麦子仲肥wg0517、元首BCB菜鸟提供的技术支持!!!
下载源码:https://download.csdn.net/download/lzksword/13948831
//注:没有Microsoft.ACE.OLEDB.12.0的,要先安装此驱动才可以用
// #include "StrUtils.hpp" //调入Leftstr
#include <ADODB.hpp>
#include <vcl.h>
#pragma hdrstop
#include "Unit4.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm4 *Form4;
const String strMdbFile = ExtractFilePath(ParamStr(0))+"ITdata.accdb";
//---------------------------------------------------------------------------
__fastcall TForm4::TForm4(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
//--------------------------------------------------------------------------
void __fastcall TForm4::Button1Click(TObject *Sender)
{
TADOConnection *con1;
TADOQuery *aq1;
con1 = new TADOConnection(NULL);
aq1 =new TADOQuery(NULL);
// 连接该MDB数据库
try
{
if (con1->Connected)
con1->Connected = false;
AnsiString s;
con1->ConnectionString ="Provider=Microsoft.ACE.OLEDB.12.0;Data Source="+
strMdbFile +";Persist Security Info=False;Jet OLEDB:Database Password=123456.lzk";
//这个可以关闭database login提示对话框
//con->LoginPrompt=false;
//con->ConnectionString ="Provider=Microsoft.ACE.OLEDB.12.0;User ID=Admin;Data Source=C:\Users\Administrator\Desktop\ITdata.accdb;Mode=Share Deny None;Persist Security Info=False;Jet OLEDB:System database="";Jet OLEDB:Registry Path="";Jet OLEDB:Database Password="";Jet OLEDB:Engine Type=6;Jet OLEDB:Database Locking Mode=1;Jet OLEDB:Global Partial Bulk Ops=2;Jet OLEDB:Global Bulk Transactions=1;Jet OLEDB:New Database Password="";Jet OLEDB:Create System Database=False;Jet OLEDB:Encrypt Database=False;Jet OLEDB:Don't Copy Locale on Compact=False;Jet OLEDB:Compact Without Replica Repair=False;Jet OLEDB:SFP=False;Jet OLEDB:Support Complex Data=False";
try
{
con1->Connected = true;
aq1->Connection = con1;
String SQLtxt="select * from ITKG";
aq1->Close();
aq1->SQL->Clear();
aq1->SQL->Text = SQLtxt;
aq1->Open();
}
catch(...)
{
::MessageBox(0, TEXT("打开数据库失败!"),
TEXT("警告"), MB_OK | MB_ICONWARNING);
}
//-----------------------------------
//显示格子
ListView1->GridLines=true;
带复选框
ListView1->Checkboxes=true;
//
ListView1->ViewStyle=vsReport;
//显示表头
for(int i=0;i<aq1->FieldCount;i++)
{
ListView1->Columns->Add()->Caption = aq1->Fields->Fields[i]->FullName;
//str = aq1->FieldList->Strings[i]; //error!! list index out of bounds(0);
// ListView1->Columns->Add()->Caption = aq1->FieldList->Fields[i]->AsString; //error:得到的是表数据,不是字段名
}
//---------------------------------------------
//显示行记录
TListItem *pItem=0;
aq1->First();
for(int i=0;i<aq1->RecordCount;i++)
{
pItem=ListView1->Items->Add();
for(int j=0;j<aq1->FieldCount;j++)
{
if(j==0)
{
pItem->Caption= aq1->FieldList->Fields[j]->AsString ;
}
pItem->SubItems->Add(aq1->FieldList->Fields[j]->AsString);
}
aq1->Next();
}
//ShowMessage(aq1->FieldByName("ITname")->AsString);
}
//--------------------------------------
//---------------------------------------
__finally
{
delete aq1;
delete con1;
}
}
//编译效果图
//实例下载地址:https://download.csdn.net/download/lzksword/11826782