Verinin bir kısmının güncellenmesi
pro_imaj12.08.2005 - 14:29:20
Merhaba
Arkadaşlar.
Şöyle birsorunum var

veritabanında Dosya adi diye bir alan var burada rapor dosyalarının nerede olduğu tutuluyor
örn
\\ANASERVER\GUNES4\RAPORLAR\Stok_Depo Durum Raporu.tel
\\ANASERVER\GUNES4\RAPORLAR\Stok_Depolar Arasi Transfer Fisi Alt Raporu.tel


ben yukarıda \\ANASERVER\GUNES4 sadece bu kısmı istediğim şekilde değiştirmek istiyorum diğer şeylere karışmak istemiyorum sizinde yukarıda gördüğünüz gibi sabit olmadığı için.

Acaba update gibi bişey ile nasıl yapabilirim acaba.

Aşağıdaki kodu kullanıyorum ama oda hata veriyor

SELECT right (DosyaAdi, len (DosyaAdi)-11) from DBO.RPR
update DBO.RPR set DosyaAdi='C:\'+right (DosyaAdi,len (DosyaAdi)-11)


hata msj
Invalid length parameter passed to the substring function.
Invalid length parameter passed to the substring function.
The statement has been terminated.

teşekkür ederim.
 
pro_imaj12.08.2005 - 14:50:06
merhaba

aşağıdaki kodu yazıyorum

select right ( DosyaAdi, len(DosyaAdi)+2 ) from rpr
update rpr set DosyaAdi='ugur'+right (DosyaAdi,len (DosyaAdi)+11)


ama bu seferde direk olarak verilerin başına 'uğur' diye ekliyor. :(
bunu nasıl düzeltebilirim yani ben istediğim karakteri sildirip yerine istediğim veriyi yazabilirim. tşk ederim
 
onaydin12.08.2005 - 15:55:24
replace fonksiyonu vardır onu kullanırsınız
replace(alan,'aranan','yeni_deger')
 
pro_imaj12.08.2005 - 15:58:26
merhaba
Allah (cc) şükürler olsun ki sonunda oldu


RprQuery.Close;
RprQuery.SQL.Clear;
RprQuery.SQL.Add('update rpr set DosyaAdi='''+EkleEdit.Text+'''+right (DosyaAdi,len (DosyaAdi)-'+SilEdit.Text+')');
Memo1.Lines.Add (RprQuery.SQL.Text);
Query1.Open;

yuukarıdaki kod ile veri tabanındaki bilgiyi istediğim şekilde güncellemeyi başarıyorum :( yalnızca enterprice maneger ile

Delphi ile bunu yapmaya çalıştığımda

Error create cursor handle mesajı veriyor.

yukarıdaki kod ile dönene sonuç
update rpr set DosyaAdi='mehmet'+right (DosyaAdi,len (DosyaAdi)-12)

query ile update işlemi yapalamazmı yoksa bu konuyu bilmiyorumda.

Yardımcı olursanız sevinicem.
 
pro_imaj12.08.2005 - 16:03:17
Merhaba @onaydın hocam.
replace fonksiyonun kullanışını yazmışsını ama

replace(alan,'aranan','yeni_deger')

alan:= bu kısma vtyimi yoksa alanımı yazıcam.
ikiside hata verdide.
 
pro_imaj12.08.2005 - 16:15:32
yaptım onaydın hocam tşk ederim.


SELECT replace(DosyaAdi,'mehmetttttttttttttt','aLİ') FROM RPR
where not DosyaAdi =''

üstad ben böyle yaptım güzelde çalışıyor
ama bu sadece gösteriyor vt ye işlemiyor.
 
onaydin12.08.2005 - 16:34:33
update RPR set DosyaAdi = replace(DosyaAdi,'mehmetttttttttttttt','aLİ') where .....

mssql server kullanmışlığım yoktur, yanlış kullanımı sonucu ortaya çıkacak sorunlarda sorumluluk kabul etmem Laughing
 
pro_imaj12.08.2005 - 17:31:41
Sayın @onaydın hocam

tüm verilerim gitti bunun sorumluluğu size aittir işyerinden çıkışımı verdiler elimdeki kağıtla yanınıza geliyorum :D

Merhaba Öncelikle süper cevaplarınız için tşk ederim. ama dediğim gibi sinin yaptığınız işlem sadece ekrana listeliyor yani görünümde değişiyor veri tabanını yenilediğimde yaptığım işlemleri göremiyorum.

ama ben sorunu şu şekilde Allah (cc) izniyle hallettim.


procedure TAnaForm.SpeedButton1Click(Sender: TObject);
begin
try
RprQuery.Close;
RprQuery.SQL.Clear;
RprQuery.SQL.Add('update rpr set DosyaAdi='''+EkleEdit.Text+'''+right (DosyaAdi,len (DosyaAdi)-'+SilEdit.Text+')where Dosyaadi <>''''');
RprQuery.ExecSQL;


ListeQuery.Close;
ListeQuery.Open;
except
showmessage ('Eksik Yada Hatalı Bilgi Girişi Yaptınız !!!');
end;
end;
end.


Sorunum çözüldü.
Sorunda şuymuş; Ben RprQuery.Open; kullanıyordum aslında RprQuery.ExecSQL; kullanmam gerekmiş. bir şey daha öğrendik. ne güzel.

Sağlıcakla kalın... :D
 
NOT : Bu sayfa google'un siteyi indekslemesi içindir. www.delphiturkiye.com/forum/ adresini kullanınız!
1998-2006 www.delphiturkiye.com