본문 바로가기

Delphi Tip/데이터베이스9

델파이 데이타베이스 기초 5 델파이 데이타베이스 Post 한다음 Disk로 바로 저장하기 위해 DbiSaveChange함수를 쓰는 예입니다. CustTable의 AfterPost이벤트 헨들러에서 procedure TDataModule2.CustTableAfterPost(DataSet: TDataSet); begin DbiSaveChanges((DataSet as TTable).Handle); //또는 DbiSaveChanges(CustTable.Handle); end; Table에서 레코드 검색 테이블에서 레코드를 검색하는 방법은 많이 있습니다. GotoKey, FindKey, GotoNearest, FindNearest 등이 있으며 이것들은 모두 인덱스가 있는 파일만 검색합니다. 우선 위의 명령을 써서 검새을 하기 위해서는 Tab.. 2023. 10. 7.
델파이 데이타베이스 기초 4 델파이 데이타베이스 데이타 베이스 관련 콤포넌트 Data Access Component 데이타엑세스 콤포넌트는 물리적인 데이타베이스를 프로그램시 사용자가 쓸수 있도록 접근할수 있게 해주는 콤포넌트들로 TDataBase, TDataSource,TTable, TQuery, TBatchMove, TSession 등이 있다. TTable 데이타베이스 테이블에 접근하기 위한 콤포넌트이다. 테이블에 접근하기 위해 TableName 프로퍼티에 테이블 이름,DatabaseName 프로퍼티에 Alias이름을 지정해 주어야 한다. 그리고 실제 사용하기 위해서는 Active를 True로 해주거나 TTable.Open 메서드를 사용하여 테이블을 활성화 시켜야 한다. 그리고, Filter 프로퍼티를 사용하여 테이블을 필터링 할.. 2023. 10. 6.
델파이 데이타베이스 기초 3 델파이 데이타베이스 SQL(Structured Qurey Language) SQL은 1970년대초 IBM에서 개발한 데이타베이스 질의용 언어로써 델파이에서는 실제 SQL언어자체를 가지고 응용프로그램을 만들거나 하는게 아니라 SQL문법으로 쓰여진 문장을 TQuery콤포넌트를 사용해서 BDE에 넘기면 BDE가 해석하여 어떤 역할을 수행합니다.(Local SQL사용시) 그리고 BDE Administrator를 사용하면 SQL문장을 마치 배치화일처럼 만들어 사용할수도 있습니다. DML(Data Manipulation Language) 데이타 베이스로 부터 원하는 레코드를 검색하거나, 추가/삭제/수정하는등의 데이타 처리를 하는 언어 DDL(Data Definition Language) 말그대로 DataBase테이.. 2023. 10. 5.
델파이 데이타베이스 기초 2 델파이 데이타베이스 무결성(Integrity) 무결성이란 데이타베이스에 저장된 데이타의 일관성(consistency)를 의미합니다. 즉 데이타 베이스 일관성을 좋게 하기 위해 나름대로 정의를 내린것들이죠. 실체(테이블) 무결성(Entity Integrity) 테이블 무결성은 테이블에 있는 모든 행들이 유일한 식별자를 가질 것을 요구한다. 즉 기본키가 설정되어있어야 함을 의미한다. 영역무결성(Domain Integrity) 영역무결성은 한 필드에 NULL값이 허용되는지를 결정 참조무결성(Referential Integrity) 참조무결성은 기본키(참조되는 테이블에서)와 참조 키(참조하는 테이블에서)간의 관계를 유지하는 것을 보장한다. 이것은 예를 들어 거래내역 테이블과 거래처관리 테이블이 거래처코드로 연결.. 2023. 10. 4.
델파이 데이타베이스 기초 1 델파이 데이타베이스 DataBase 개요 DataBase란? 데이타베이스는 말그대로 방대한 데이타를 효율적으로 관리하기위해 만든것입니다. Table, Field, Record, Index 데이타가 DB에 저장될때는 잘정리된 표에 집어넣는 것과 같은 방식으로 데이타를 저장합니다. 그 표가 Table이 되고 그 표의 각 항목이 Field가되고, 각 줄이 Record가 되는 것입니다. 그리고 각 줄에서 특정한 줄을 찾기위해 색인을 만들어 놓은 것이 바로 index입니다. 예를 들어 학생 성적을 관리하는 Table의 경우 ┏━━━┳━━━┳━━━┳━━━┳━━━┓ ┃학번 ┃이름 ┃ 영어 ┃수학 ┃국어 ┃ 2023. 9. 27.
델파이 FDConnection SQLConnection 소스코드로 MySQL DB연결 델파이 FDConnection SQLConnection 소스코드로 MySQL DB연결 델파이 파닥/SQLConnection 소스코드로 MySQL DB연결 with SQLConnection do begin Params.Clear; Params.Add('DriverID=MySQL'); Params.Add('CommunicationProtocol=tcp/ip'); Params.Add('DatasnapContext=datasnap/'); Params.Add('DSProxyPort=8888'); Params.Add('HostName='+DB_SERVER); Params.Add('Password='+DB_PASS); Params.Add('Port='+DB_PORT); Params.Add('UserName='+DB_.. 2022. 1. 13.
SQLite 대량 insert 시 속도 저하 개선 SQLite 대량 insert 시 속도 저하 개선 SQLite 에서 대량으로 insert 시에 속도가 너무 느려서 방법을 찾던차 인터넷에서 찾은 방법입니다. SQLite 사이트에 설명이 있다던데, 매뉴얼을 덜보다보니... ^^ var QueryStr: string; EndTime, StartTime, i: integer; begin // 여기가 추가됨. SQLQuery1.SQL.Text := 'PRAGMA synchronous=0'; SQLQuery1.ExecSQL; // 여기까지. StartTime := GetTickCount; for i := 1 to 1000 do begin QueryStr := 'INSERT INTO log (date, time, matchrate)'; QueryStr := Que.. 2022. 1. 12.
오라클에 이미지 저장/불러오기 방법 오라클에 이미지 저장/불러오기 방법 오라클 컬럼을 BLOB 타입으로 만들어야겠지만... 그것은 32KB이상 되는건 저장되지 않는당...오라클7이상은 모르겠지만.. 암튼 LONG RAW타입으로 만든다. =저장 소스= procedure TFBITEM_I1.Button1Click(Sender: TObject); var Ms: TMemoryStream; Jpg: TJPEGImage; begin with QR_TEMP_ do begin Close; SQL.Clear; SQL.Add('INSERT INTO CITEMIMG_ (ITEM_CODE,ITEM_IMAG,ITEM_BIGO )'); SQL.Add('VALUES (''24234'', :ITEM_IMAG, ''sadfasd'')'); Ms := TMemoryStr.. 2022. 1. 11.
MSSQL 초 --> 시분초 변환 MSSQL 초 --> 시분초 변환 declare @ss int set @ss = 899 select convert (varchar(8), dateadd (s, @ss, '' ), 8) as '재생시간' 2022. 1. 7.