Undeclared identifier: 'FindNearest' hatası
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
Undeclared identifier: 'FindNearest' hatası
şu şekilde bir ornek yazdım ve
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
Db, Grids, DBGrids, ADODB, StdCtrls, DBCtrls;
type
TForm1 = class(TForm)
ADOConnection1: TADOConnection;
ADOTable1: TADOTable;
DBGrid1: TDBGrid;
DataSource1: TDataSource;
ADOTable1KAYITNO: TBCDField;
ADOTable1KULAKNO: TStringField;
ADOTable1OLAYTAR: TDateTimeField;
ADOTable1OLAYTURU: TStringField;
ADOTable1ACIKLAMA: TStringField;
ADOTable1RGROUPNO: TBCDField;
Edit1: TEdit;
ADOQuery1: TADOQuery;
procedure Edit1Change(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.DFM}
procedure TForm1.Edit1Change(Sender: TObject);
begin
if (Edit1.Text <> '') then
try
ADOTable1.FindNearest([Edit1.Text]);
except
On EDatabaseError do;
On EConvertError do;
end;
end;
end.
programı çalıştırıken bana
[Error] Unit1.pas(50): Undeclared identifier: 'FindNearest'
ve
[Error] Unit1.pas(50): Ordinal type required
şeklinde hata verdi bunu nasıl çözebiliriz acaba?
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
Db, Grids, DBGrids, ADODB, StdCtrls, DBCtrls;
type
TForm1 = class(TForm)
ADOConnection1: TADOConnection;
ADOTable1: TADOTable;
DBGrid1: TDBGrid;
DataSource1: TDataSource;
ADOTable1KAYITNO: TBCDField;
ADOTable1KULAKNO: TStringField;
ADOTable1OLAYTAR: TDateTimeField;
ADOTable1OLAYTURU: TStringField;
ADOTable1ACIKLAMA: TStringField;
ADOTable1RGROUPNO: TBCDField;
Edit1: TEdit;
ADOQuery1: TADOQuery;
procedure Edit1Change(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.DFM}
procedure TForm1.Edit1Change(Sender: TObject);
begin
if (Edit1.Text <> '') then
try
ADOTable1.FindNearest([Edit1.Text]);
except
On EDatabaseError do;
On EConvertError do;
end;
end;
end.
programı çalıştırıken bana
[Error] Unit1.pas(50): Undeclared identifier: 'FindNearest'
ve
[Error] Unit1.pas(50): Ordinal type required
şeklinde hata verdi bunu nasıl çözebiliriz acaba?
yaz abi editin change olayına şimdi
işte bu kadar
korkmaya gerek varmıymış
saygılar
Kod: Tümünü seç
with adoquery1 do
begin
close;
sql.clear;
sql.add('select * from OLAYLARTABLE where KULAKNO like '''+edit1.text+'''');
open;
end;
işte bu kadar
korkmaya gerek varmıymış
saygılar
sevgili MicroChip demişsinki,
abicim kullan query i korkma yemez seni ,,
doğru kullandık, denedik ve kesinlikle gördük yemiyormuş..
fakat bazı durumlarda select kullanmak yeterli olmuyor, şöyleki:
örnek olarak aradığınız kritere uygun kayıtları getirmesini değilde, tümünü getirip aradağınız kritere uygun kaydın aktif kayıt olması gibi bir durumda select yeterli olmuyor..
Yani en azından ben yapamadım..
abicim kullan query i korkma yemez seni ,,
doğru kullandık, denedik ve kesinlikle gördük yemiyormuş..

fakat bazı durumlarda select kullanmak yeterli olmuyor, şöyleki:
örnek olarak aradığınız kritere uygun kayıtları getirmesini değilde, tümünü getirip aradağınız kritere uygun kaydın aktif kayıt olması gibi bir durumda select yeterli olmuyor..
Yani en azından ben yapamadım..
merhaba ,
örneğin,
gibi ,
iyi çalışmalar.
Query'nin dataset ile ilgili metodları table ile aynıdır yani bütün kayıtları getiren bir sorgu yazarark birtable nesnesi ile yaptığınız herşeyi yapabilirsiniz, aradığınız kayıdı aktif edebilmekte buna dahil ,selimr yazdı:
fakat bazı durumlarda select kullanmak yeterli olmuyor, şöyleki:
örnek olarak aradığınız kritere uygun kayıtları getirmesini değilde, tümünü getirip aradağınız kritere uygun kaydın aktif kayıt olması gibi bir durumda select yeterli olmuyor..
Yani en azından ben yapamadım..
örneğin,
Kod: Tümünü seç
with query do
begin
sql.add('select * from tablo_adi');
open;
Locate('aranacak_alan_adi','aranan_deger',[LocaCaseInsensitive,LoPartialKey]);
end;
iyi çalışmalar.
Volkan KAMADAN
www.polisoft.com.tr
www.polisoft.com.tr
bence sayın kazımateş abinin işini query değil dataset halleder. çünkü bir kayda konumlanmak istiyorsa onu update veya delete gibi işlemlere tabi tutacaktır. oysa queryden dönen sonuçlar üzerinde işlem yapılamaz. siz en iyisi forumda dataset kullanımını araştırın. hatta çok güzel makaleler vardı. dataset ile sorgudan dönen verilere update-insert-delete yapabilirsiniz.
kolay gelsin.
kolay gelsin.
merhaba ,nitrokonat yazdı: çünkü bir kayda konumlanmak istiyorsa onu update veya delete gibi işlemlere tabi tutacaktır. oysa queryden dönen sonuçlar üzerinde işlem yapılamaz.
kolay gelsin.
Canlı Query kullarak her türlü işlemi yapaiblirsiniz, kayda konumlanmak içinde UPDATE , INSERT gibi işlem yapmaya neden gerek duyulsunki.
query.requestlive:=true;
hayırlı cumalar.
Volkan KAMADAN
www.polisoft.com.tr
www.polisoft.com.tr
DBGRID veri sorgulama yardım
formda yer alan dbgrid e bir edit birde tjvxpbuton koydum yapmak istedğim işlem edit içerisine dbgrid de bulunan bir ismi yazmak ve butona bastığımda dbgrid içerisinde yazmış olduğum ismi bulması bu konuda bana yardımcı olurmusunuz.
kullandığım program delphi7 data modulum TZQery ve DataSurce bir yardım lütfen.
kullandığım program delphi7 data modulum TZQery ve DataSurce bir yardım lütfen.