101-1 ile elle yazılmış bir string ifade eşitlenmiyor conver

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Kullanıcı avatarı
delphist
Üye
Mesajlar: 595
Kayıt: 05 Oca 2005 04:34

101-1 ile elle yazılmış bir string ifade eşitlenmiyor conver

Mesaj gönderen delphist »

S.a. Arkadaşlar convert hatası alıyorum şöyle bir işlemde neden.

Database de string şeklinde 101-1 şeklinde bir veri var örnek olarak.

query1.fieldbyname('no').asstring= '101-1' şeklinde bir eşitleme ile hata alıyorum. Neden.....

Teşekkürler
Kullanıcı avatarı
mussimsek
Admin
Mesajlar: 7603
Kayıt: 10 Haz 2003 12:26
Konum: İstanbul
İletişim:

Mesaj gönderen mussimsek »

hata nedir tam olarak, kod gayet düzgün gözüküyor. Eğer alan string ise çalışması lazım.

Kolay gelsin.
Kullanıcı avatarı
lazio
Moderator
Mesajlar: 1527
Kayıt: 11 Tem 2003 04:55
Konum: İstanbul

Mesaj gönderen lazio »

bide
query1.fieldbyname('no').value
olarak denesen.
DeveloperToolKit

..::|YeşilMavi|::..
Kullanıcı avatarı
delphist
Üye
Mesajlar: 595
Kayıt: 05 Oca 2005 04:34

Mesaj gönderen delphist »

value ile çalıştı hocam teşekkür ederim ama neden böyle oldu yani mantıksız geldi her zaman kullandığım şey :(

Teşekkür ederim.
Kullanıcı avatarı
lazio
Moderator
Mesajlar: 1527
Kayıt: 11 Tem 2003 04:55
Konum: İstanbul

Mesaj gönderen lazio »

çok emin değilim ama,
alan zaten string..
bunu bi daha String olarak çevir (asString) dediğinden olabilir..
DeveloperToolKit

..::|YeşilMavi|::..
Kullanıcı avatarı
Kuri_YJ
Moderator
Mesajlar: 2248
Kayıt: 06 Ağu 2003 12:07
Konum: İstanbul
İletişim:

Mesaj gönderen Kuri_YJ »

Selamlar,

Böyle bir şey olması (nerdeyse) imkansız !.. Başka bir sorun vardır ama burada ortaya çıkıyordur. Kodun tamamını incelemek gerekir.

Kolay Gelsin
Kuri Yalnız Jedi
Harbi Özgürlük İçin Pisi http://www.pisilinux.org/
Kullanıcı avatarı
lazio
Moderator
Mesajlar: 1527
Kayıt: 11 Tem 2003 04:55
Konum: İstanbul

Mesaj gönderen lazio »

unit DB; 'den

Kod: Tümünü seç

function TStringField.GetAsString: string;
begin
  if not GetValue(Result) then Result := '';
end;

Kod: Tümünü seç

function TStringField.GetValue(var Value: string): Boolean;
var
  Temp: String;
  pBuff: PChar;
  Buffer: array[0..dsMaxStringSize] of Char;
begin
  if DataSize > dsMaxStringSize then
  begin
    SetLength(Temp, DataSize);
    pBuff := pChar(Temp);
    Result := GetData(pBuff);
    if Result then
      SetLength(Temp, strlen(PBuff));
  end else
    Result := GetData(@Buffer);
  if Result then
  begin
    if DataSize > dsMaxStringSize then
      Value := Temp
    else
      Value := Buffer;
    if Transliterate and (Value <> '') then
      DataSet.Translate(PChar(Value), PChar(Value), False);
  end;
end;
[/code]
DeveloperToolKit

..::|YeşilMavi|::..
Kullanıcı avatarı
mussimsek
Admin
Mesajlar: 7603
Kayıt: 10 Haz 2003 12:26
Konum: İstanbul
İletişim:

Mesaj gönderen mussimsek »

AsValue dersen, variant olarak ele alır ve tüm tipler için dener. AsString'e göre 7-8 kat daha yavaş çalışır ve tavsiye edilne birşey değildir.

Kolay gelsin.
Cevapla