Boş Kayıt eklemede hata

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
ozcank
Üye
Mesajlar: 937
Kayıt: 28 Nis 2005 05:29

Boş Kayıt eklemede hata

Mesaj gönderen ozcank »

arkadaşlar Table1 de hiçbirşey yokken Button1 e bastığım zaman "Invalid Variant type Conversion" hatası alıyorum sebebi ne olabilir acaba?

Kod: Tümünü seç

procedure TForm3.Button1Click(Sender: TObject);
Var
KS,K1,K2:Variant;
begin
Table1.Last;
KS := DBEdit17.Text;
K1:=1;
K2:=KS+K1;
DBCheckBox1.ValueChecked:='1';
Button1.Enabled:=False;
Button2.Enabled:=True;
Table1.Append;
Table1SISTAR.Value:=Date;
DBEdit17.SetFocus;
DBEdit17.Text:=K2;
end;
Kullanıcı avatarı
husonet
Admin
Mesajlar: 2962
Kayıt: 25 Haz 2003 02:14
Konum: İstanbul
İletişim:

Mesaj gönderen husonet »

hiç kayıt olmayınca hata veriyorsa table nin countuna bak 0 dan fazla kayıt varsa kodunu icra et hata yı ayıtlamak içinde adım adım çalıştır.

Kolay Gelsin...

Gazete manşetleri
* DİKKAT :Lütfen forum kurallarını okuyalım ve uyalım...!
* Warez,crack vs. paylaşımı kesinlikle yasaktır.
Kullanıcı avatarı
ozkanagiral
Üye
Mesajlar: 79
Kayıt: 17 Oca 2004 06:23
Konum: istanbul
İletişim:

Mesaj gönderen ozkanagiral »

KS değişkeni içine atadığın DBEdit17.Text boş ise işlem yaptırma ilk Begin den sonra veri olup olmadığını denetle yoksa DBEdit17.SetFocus ve uyarı mesajı ile kullanıcıyı yönlendir. Bence boş değer olduğu için geçersiz tip dönüşümü diyor.
İyi Çalışmalar
Kullanıcı avatarı
mussimsek
Admin
Mesajlar: 7603
Kayıt: 10 Haz 2003 12:26
Konum: İstanbul
İletişim:

Mesaj gönderen mussimsek »

Hocam burda ne yapmaya çalıştın, kodu ben çok çıkaramadım. Bir de Variantlar bir zorunluluk olmadığı müddetçe kullanma. Variant kullanımı hem çok yavaş, hem de sorunlu oluyor. Integer, string ... gibi hangi tipte ise ona göre bir değişken tanımla.

Son bir uyarı daha, atama yaparken DB bileşenlerle çalışma, datasetler ile çalış.

Değişken := DBEdit1.Text; veya DBEdit1.Text := Değişken; yerine

Değişken := Table1.FieldByName('alan').AsString;

gibi çalışman daha güzel olur, hem de daha anlaşılır olur.

Kolay gelsin.
Cevapla