Lazarus, PostgreSQL, Field not found

(Ali KOCA) #1

Merhaba;
PostgreS de bir veritabanı ve tablo oluşturdum. Lazarusla aşağıdaki select cümlesi ile veri çekmeye çalışırken hata veriyor.

lazarus-postgresql-field-not-found

Ve sorun muhtemelen “i” karakterinden kaynaklanıyor. Veritabanının dili türkçe olduğu için filan mıdır?

CREATE DATABASE db_tecrube WITH OWNER u_tecrube 
    TEMPLATE template0 
    ENCODING 'UTF-8' 
    LC_COLLATE 'tr_TR.UTF-8' 
    LC_CTYPE = 'tr_TR.UTF-8';    

create table sch_tecrube.kullanicilar(
   okytno               serial          NOT NULL,
        constraint pk__kullanicilar__okytno primary key(okytno),   
   kullanici_ismi       varchar(100)    NOT NULL,
        constraint uk__kullanicilar__kullanici_ismi unique (kullanici_ismi),
   faal                 boolean         NOT NULL    DEFAULT FALSE,
   olusturulma_tarihi   timestamp       NOT NULL    DEFAULT Now()
);

SELECT okytno, kullanici_ismi, faal, olusturulma_tarihi
FROM sch_tecrube.kullanicilar;
0 Likes

(𝗄𝖺𝖺𝗇) #2

Dbeaver ile veritabanı oluşturarak deneme yapınız.

0 Likes

(Ali KOCA) #3

Merhaba
Dbeaver da sorun yok, php pdo ile sorun yok. Aslında Lazarus dışında hiç bir sorun yok.

Tek sorunum lazarus…

Selamlar.

0 Likes

(𝗄𝖺𝖺𝗇) #4

Örnek bir veritabanı oluşturup denedim. Alan isimlerinde _ ve i karakterlerini de yazdım ama bir türlü hata alamadım :slight_smile:

0 Likes

(𝗄𝖺𝖺𝗇) #5

sql cümlesinde kullandığınız tabloyu ve alan adlarını yanlış seçmediğinizi varsayıyorum.

0 Likes

(Ali KOCA) #6

Merhaba;
Lazarusda mı denediniz?

0 Likes

(𝗄𝖺𝖺𝗇) #7

Evet lazarusda denedim.

0 Likes

(Ali KOCA) #8

Kaan hocam versiyon kaçtır?

0 Likes

(𝗄𝖺𝖺𝗇) #9

Lazarus 2.0.0 versiyonu

0 Likes

(Ali KOCA) #10

İlginiz için teşekkür ediyorum.
Kurulumlara tekrar bakacağım.

Selamlar.

0 Likes

(𝗄𝖺𝖺𝗇) #11

Bileşen bağlantılarını ve ayarlarını aşağıdaki ile kontrol edin:

pqconnection:
databasename
hostname
username
password
transaction
connected

Transaction:
database
active

query:
database
transaction
active

datasource:
dataset

dbgrid:
datasource

0 Likes

(𝗄𝖺𝖺𝗇) #12

Sql cümleninizi select * from table şeklinde deneyiniz.

0 Likes

(Ali KOCA) #13

İşletim sistemini yeniden kurdum.
PostgreS, dbeaver ve Lazarusu da kurdum.
Netice böyle.

0 Likes

(Ali KOCA) #14
object Form1: TForm1
  Left = 337
  Height = 576
  Top = 215
  Width = 609
  Caption = 'Form1'
  LCLVersion = '2.0.0.4'
  object ZConnection1: TZConnection
    ControlsCodePage = cCP_UTF8
    AutoEncodeStrings = False
    Connected = True
    HostName = 'localhost'
    Port = 0
    Database = 'db_ali'
    User = 'u_ali'
    Password = 'abc'
    Protocol = 'postgresql'
    left = 42
    top = 27
  end
  object ZQuery1: TZQuery
    Params = <>
    left = 48
    top = 112
  end
  object ZTable1: TZTable
    Connection = ZConnection1
    TableName = 'public.kullanicilar'
    left = 200
    top = 27
  end
end
0 Likes

(𝗄𝖺𝖺𝗇) #15

sqldb paletindeki bileşenleri kullanmayı deneyiniz.

0 Likes

(Ali KOCA) #16

Merhaba;
Denemediğim bileşen kalmadı.
Tekrar deneyim.

0 Likes

(Ali KOCA) #17

0 Likes

(𝗄𝖺𝖺𝗇) #18

Bileşene alanları eklemek zorunda değilsiniz. Kodda kullanacaksanız fieldby şeklinde kullanabilirsiniz.
Not: Normalde SQLdb paletindeki bileşenlerde sorunsuz kullanıyorum.

0 Likes

(Ali KOCA) #19

Merhaba;

create table AA(
   okytno               serial          NOT NULL,
        constraint pk__AA__okytno primary key(okytno),   
   aaa       varchar(100)    NOT NULL,
        constraint uk__AA__aaa unique (aaa),
   bbb                 boolean         NOT NULL    DEFAULT FALSE,
   ccc   timestamp       NOT NULL    DEFAULT Now()
);

insert into AA(aaa) values ('HASAN');
insert into AA(aaa) values ('HÜSEYİN');
insert into AA(aaa) values ('AHMED');

Aynı yapıyı böyle oluşturdum.
Netice:

0 Likes

(Ali KOCA) #20

Bu yapıda ne var bilemedim ama sanki bu “i” karakteriyle sorun var. bu lazarus veya bileşenler kafayı bunu takmışlar gibi. :slight_smile:

0 Likes