RE: [Linux-programlama] Firebird SQL ile boş, Null değer kaydetme?

---------

New Message Reply About this list Date view Thread view Subject view Author view Attachment view

From: Yaşar ÖZANLAĞAN (yasarozanlar@gmail.com)
Date: Thu 11 Jan 2007 - 13:41:38 GMT


 

Gönderdiğiz örnekte Edit1 nesnesine isim atarken veritabanındaki değer null
ise variant'a çeviremediği için hata veriyor. Örneğinizde daha fazla kod
yazmayı gerektiren bir yol tercih etmişsiniz, bana göre.

Sizin örneğinine bakarak kendi kullandığım mssql deki müşteri dosyasından
firebird deki secmen dosyasına bilgi aktarmak için 2 adotable nesnesi
oluşturdum. SecTB firebird üzerideki yeni tablo, Adotable1 ise mssqldeki
müşteri dosyası. Table nesnesi içerisine fieldleri ekledim ve denedim.
Umarım işinize yarar.

 

Yaşar ÖZANLAĞAN

 

 

procedure TMainF.SpeedButton1Click(Sender: TObject);

begin

     DM.ADOTable1.Open;

     DM.SecTB.Open;

     DM.ADOTable1.First;

     while not DM.AdoTable1.Eof do

     Begin

          DM.SecTB.Insert;

          DM.SecTBtckimlikno.Value := DM.ADOTable1MKOD.Value;

          DM.SecTBsecmenno.Value := 0;

          DM.SecTBad.Value := DM.ADOTable1ISIM.Value;

          DM.SecTBsoyad.Value := DM.ADOTable1SOYAD.Value;

          DM.SecTBilksoyad.Value := '';

          DM.SecTBanaadi.Value := DM.ADOTable1ANAADI.Value;

          DM.SecTBbabaadi.Value := DM.ADOTable1BABAADI.Value;

          DM.SecTBcinsiyet.Value := '';

          DM.SecTBdogumyeri.Value := DM.ADOTable1DYERI.Value;

          DM.SecTBnufusil.Value := DM.ADOTable1NFIL.Value;

          DM.SecTBnufusilce.Value := DM.ADOTable1NFILCE.Value;

          DM.SecTBadresilad.Value := DM.ADOTable1SEHIR.Value;

          DM.SecTBadresilcead.Value := DM.ADOTable1ILCE.Value;

          DM.SecTBadresmuhtarad.Value := '';

          DM.SecTBadrescaddesokakad.Value := DM.ADOTable1ADRES.Value;

          DM.SecTBadreskapino.Value := '';

          DM.SecTBadresdaireno.Value := '';

          DM.SecTBadresapt.Value := '';

          DM.SecTB.Post;

          Edit1.Text:= DM.ADOTable1UNVAN.Value;

          application.ProcessMessages;

          DM.AdoTable1.Next;

     End;

     DM.ADOTable1.Close;

     DM.SecTB.Close;

end;

 

  _____

From: linux-programlama-bounces@liste.linux.org.tr
[mailto:linux-programlama-bounces@liste.linux.org.tr] On Behalf Of
Mucibirahman İLBUĞA
Sent: Wednesday, January 10, 2007 2:09 PM
To: linux-programlama
Subject: [Linux-programlama] Firebird SQL ile boş, Null değer kaydetme?

 

Selamlar,

Win üzerinde Access ile tutulan verileri Firebird 1.5 üzerine Delphi ile
aktarmaya çalışıyorum. Ancak garip bir durum var:

 

Aşağıdaki kodda kaynak alan mesela "KapiNo" boş ise ;

"Could not convert variant of type (null) into type (string)"

Hatası alıyorum... ADO, alanın içeriği boş ise Null dönderiyor anlaşılan. Bu
sorunu SQL içerisinden halledebilir miyiz? Yoksa Delphide "if null" gibi bir
çözüm mü yapmalıyız?

 

Teşekkürler,

Mucip:)

 

Özgürlük için http://www.pardus.org.tr/

 

****************************************************************

procedure TForm1.Button3Click(Sender: TObject);
begin
AdoTable1.First;
while not AdoTable1.Eof do
  Begin
  IBQuery1.Close;
  IBQuery1.SQL.Clear;
  IBQuery1.SQL.add('Insert into Secmen(TCKimlikNo,SecmenNo,Ad,Soyad,');
  IBQuery1.SQL.add('IlkSoyad,AnaAdi,BabaAdi,Cinsiyet,DogumYeri,');
{DogumTarihi,}
 
IBQuery1.SQL.add('NufusIl,NufusIlce,AdresIlAd,AdresIlceAd,AdresMuhtarAd,Adre
sCaddeSokakAd,KapiNo,DaireNo,Bolge) values ');
  IBQuery1.SQL.add('(''' + ADOTable1.FieldValues['TCKimlikNo'] + ''', ');
  IBQuery1.SQL.add('''' + ADOTable1.FieldValues['SecmenNo'] + ''', ');
  IBQuery1.SQL.add('''' + ADOTable1.FieldValues['Ad'] + ''', ');
  IBQuery1.SQL.add('''' + ADOTable1.FieldValues['SoyAd'] + ''', ');
  IBQuery1.SQL.add('''' + ADOTable1.FieldValues['IlkSoyAd'] + ''', ');
  IBQuery1.SQL.add('''' + ADOTable1.FieldValues['AnaAdi'] + ''', ');
  IBQuery1.SQL.add('''' + ADOTable1.FieldValues['BabaAdi'] + ''', ');
  IBQuery1.SQL.add('''' + ADOTable1.FieldValues['Cinsiyet'] + ''', ');
  IBQuery1.SQL.add('''' + ADOTable1.FieldValues['DogumYeri'] + ''', ');
  IBQuery1.SQL.add('''' + ADOTable1.FieldValues['NufusIl'] + ''', ');
  IBQuery1.SQL.add('''' + ADOTable1.FieldValues['NufusIlce'] + ''', ');
  IBQuery1.SQL.add('''' + ADOTable1.FieldValues['AdresIlAd'] + ''', ');
  IBQuery1.SQL.add('''' + ADOTable1.FieldValues['AdresIlceAd'] + ''', ');
  IBQuery1.SQL.add('''' + ADOTable1.FieldValues['AdresMuhtarAd'] + ''', ');
  IBQuery1.SQL.add('''' + ADOTable1.FieldValues['AdresCaddeSokakAd'] + ''',
');
  IBQuery1.SQL.add('''' + ADOTable1.FieldValues['KapiNo'] + ''', ');
  IBQuery1.SQL.add('''' + ADOTable1.FieldValues['DaireNo'] + ''', ');
  IBQuery1.SQL.add('''TEST'');');
  IBQuery1.Prepare;
  IBQuery1.ExecSQL;
  Edit1.Text:= ADOTable1.FieldValues['No'];
  application.ProcessMessages;
  AdoTable1.Next;
  End;
IBDataset1.Close;
IBDataset1.Open;
//ADOTable1.FieldValues['HareketFisNo']
end;

 

****************************************************************

 

 

 

 

 

_______________________________________________
Linux-programlama mailing list
Linux-programlama@liste.linux.org.tr
http://liste.linux.org.tr/mailman/listinfo/linux-programlama


New Message Reply About this list Date view Thread view Subject view Author view Attachment view

---------

Bu arsiv hypermail 2.1.2 tarafindan uretilmistir.