首页 > 数据库 >mormot笔记一 连接数据库

mormot笔记一 连接数据库

时间:2023-08-15 16:38:03浏览次数:42  
标签:end db 数据库 Vcl 笔记 mormot var dataTable

unit Unit1;

interface

uses
  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
  Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.Grids, Vcl.StdCtrls,
  mormot.db.sql, mormot.db.core, mormot.db.sql.oledb, mormot.core.base;

type
  TForm1 = class(TForm)
    StringGrid1: TStringGrid;
    Memo1: TMemo;
    procedure FormCreate(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

  TSqlDBOleDBMSSQLConnectionPropertiesEx = class(TSqlDBOleDBMSSQLConnectionProperties)
  public
    constructor Create(const aServerName, aDatabaseName, aUserID, aPassWord: RawUtf8); override;
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
begin
  var conPool := TSqlDBOleDBMSSQLConnectionPropertiesEx.Create('192.168.1.2', 'xb', 'sa', '223344');
  var dataTable := conPool.ExecuteInlined('select top 10 * from TestTable', true);
  StringGrid1.ColCount := dataTable.ColumnCount;
  StringGrid1.RowCount := 100;
  var rowIndex := 1;
  while dataTable.Step do
  begin
    for var I := 0 to dataTable.ColumnCount-1 do
    begin
      StringGrid1.Cells[I, rowIndex] := dataTable.ColumnString(I);
    end;
    inc(rowIndex);
  end;
end;

{ TSqlDBOleDBMSSQLConnectionPropertiesEx }

constructor TSqlDBOleDBMSSQLConnectionPropertiesEx.Create(const aServerName,
  aDatabaseName, aUserID, aPassWord: RawUtf8);
begin
  fProviderName := 'SQLOLEDB.1';
  inherited Create(aServerName,aDatabaseName, aUserID, aPassWord);
end;


end.
View Code

 

注:由于 ProviderName 属性是只读的,所以在create中初始化一下(能不修改源代码就不改)

mormot.db.sql.oledb   单元中定义了mssql相关类,如果连接其它数据库则要引用相对应的文件。

 

标签:end,db,数据库,Vcl,笔记,mormot,var,dataTable
From: https://www.cnblogs.com/Jiaojiawang/p/17631630.html

相关文章

  • SQL Server不同库之间表数据复制(将A数据库的表复制到数据库B)
    SQLServer不同库之间表数据复制(将A数据库的表复制到数据库B) 源数据库-->任务-->导出数据    ......
  • 【学习笔记】(19) 启发式合并
    启发式合并启发式合并核心思想就一句话:把小集合的合并到大的里。启发式合并思想可以放到很多数据结构里,链表、线段树、甚至平衡树都可以。考虑时间复杂度,设总共有\(n\)个元素,由于每次集合的大小至少翻倍,所以至多会合并\(logn\)次,总的复杂度就是\(O(nlogn)\)的(结合线段树......
  • 时序数据库TimescaleDB 功能介绍、单节点、集群安装部署、centos、linux
    简介TimescaleDocumentation|GettingstartedwithTimescaleTimescale是一个用于时间序列,事件和分析的PostgreSQL数据平台。提供了PostgreSQL的可靠性,这是时间序列的超能力TimescaleDB,。它提供自动备份和还原、复制的高可用性等功能,无缝缩放和调整大小等等性能对比:Ti......
  • Java学习笔记(十)
    第7章 面向对象(下)7.1 静态的1、static:静态的2、什么是静态的?和对象无关的,不会因为对象的不同而不同,即所有对象都一样的。换句话说,和对象无关。动态的,根据对象的不同而不同,和对象有关,由对象动态决定。3、static这个关键字用在哪里?(1)成员变量前面:静态变量(2)成员方法前面:静态......
  • 传热和传质基本原理-学习笔记
    传热的三种方式:传导:  不同物质形态的传导机理:  气体:气体分子的能量与其随机的平移有关,也和内部旋转和震动运动有关。可以把基于分子的随机运动的净能量传输说成是的能量扩散。       液体:与气体情况几乎相同,但流体分子靠得更近,分子间的相互作用更强,也更频繁。  ......
  • 创建表空间及数据库用户
    select*fromdba_data_files;---查看用来导数据库的数据库数据文件路径信息----创建顺德一体化项目的数据库的对应的表空间。该数据库文件最少需要2个createtablespacesync_plus_1datafile'/u01/app/oracle/oradata/orcl/sync_plus_1_01.dbf'size500Mautoex......
  • 数据库设计规范
    数据库设计(DatabaseDesign)是指对于一个给定的应用环境,构造最优的数据库模式,建立数据库及其应用系统,使之能够有效地存储数据,满足各种用户的应用需求(信息要求和处理要求)。一、数据库设计的原则表设计原则1(1)规范化与反规范化规范化的优点是减少了数据冗余,节约了存储空间,相应逻辑和......
  • 8.15集训笔记
    上午测试讲题U259234累加累乘/accmul分析:直接开两个变量记录答案即可,使用for循环n次,对于s1也可以使用等差数列求和公式。点击查看代码#include<bits/stdc++.h>usingnamespacestd;intn;intmain(){cin>>n;ints1=0,s2=1;for(inti=1;i<=n;i++){......
  • 【刷题笔记】22. Generate Parentheses
    题目Given n pairsofparentheses,writeafunctiontogenerateallcombinationsofwell-formedparentheses.Forexample,given n =3,asolutionsetis:["((()))","(()())","(())()","()(())","()()(......
  • Programming abstractions in C阅读笔记p111-p113: boilerplate
    《ProgrammingAbstractionsInC》学习第47天,p111-p113,总结如下:一、技术总结1.boilerplate/**File:random.h*Version:1.0*LastmodifiedonFriJul2216:44:361994byeroberts*-----------------------------------------------------*Thisinterfacepr......