| pro_imaj | 12.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_imaj | 12.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 | |
| onaydin | 12.08.2005 - 15:55:24 |
| replace fonksiyonu vardır onu kullanırsınız
replace(alan,'aranan','yeni_deger') | |
| pro_imaj | 12.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_imaj | 12.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_imaj | 12.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. | |
| onaydin | 12.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 | |
| pro_imaj | 12.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 | |