牛骨文教育服务平台(让学习变的简单)
博文笔记

C++builder 数据库常用操作

创建时间:2015-12-01 投稿人: 浏览次数:1695
1.连接SQLServer数据库
   ADOQuery1->ConnectionString ="Provider=SQLOLEDB.1;Persist Security Info=False;
   User ID=chinayu;
   Password=123456;
   Initial Catalog=UserInfo;
   Data Source=212.19.105.216";
2.记住数据游标位置
TBookmark  SavePlace = ADOQuery1->GetBookmark();//用书签记住游标位置
......查询数据库
ADOQuery1->GotoBookmark(SavePlace);//指向原来的位置
ADOQuery1->FreeBookmark(SavePlace);//释放书签
这个游标是datasource的位置,黑色的三角形位置的确没变。但是数据源的指针在刷新后,却是指向第一条记录。所以要先保存ADOQuery的recNo值,然后moveBy(recNo)到这个旧的位置,才能使ADOQuery在刷新后,仍然指向原来选中的位置。

3.连接Access2003数据库
AnsiString AdoConnString="Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+
    AppPath + "myDB.mdb;"+"Persist Security Info=False";
ADOQuery1->ConnectionString = AdoConnString;
若是带密码的数据库,连接字符串如下:
AppPath = ExtractFilePath(Application->ExeName);
AnsiString AdoConnString="Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+
      AppPath + "myDB.mdb;"+"Persist Security Info=false;
      Jet OLEDB:Database Password=123456";

ADOQuery1->ConnectionString = AdoConnString;   
4.更新数据库记录语句
           ADOQuery1->Active = false;
           ADOQuery1->SQL->Clear();
           ADOQuery1->SQL->Text = "insert into gpsRecordInfo(clientSerial,StartTime,enable,
            CustomID,CustomName,middleManName)
            values(""+Edit1->Text+"",
            cast(""+Now()+"" as datetime),
            "+(int)GpsEnable+",
            ""+Edit11->Text+"",
            ""+Edit12->Text+"",
            ""+Edit13->Text+"")";
           ADOQuery1->ExecSQL();
这条语句涉及到更新nchar,datetime,bit(即bool)型字段的方法




声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。