| dtgb | 26.07.2005 - 15:12:21 |
| Merhabalar arkadaslar
amacım iki tarih arasında baska kriterlerle birlikte sorgu yapmak acaba asagıdaki kodlamada bi hata var mı? Result := ''; if edit1.Text<> '' then Result :=AddResult(Result) + ' Tarih between '''+ DateTimeToStr(dt1.DateTime)+''' and '''+DateTimeToStr(dt2.DateTime)+''''; if edit4.Text <> '' then Result := AddResult(Result) + ' Lot_No LIKE ''' + edit4.Text+ '%'''; | |
| miskin | 26.07.2005 - 16:54:43 |
| between ..... LiteNo arasinda herhangi bir and yada or yok | |
| dtgb | 27.07.2005 - 10:48:28 |
| iki if ifadesi arasında ad var onu baska yerde yazdırıyorum zaten sorun betweeen komutunun oldugu cumlecikte onu duzeltemedim | |
| Uğur1982 | 27.07.2005 - 11:00:29 |
| merhaba;
Ne hatası veriyor? Tarih BETWEEN ''' + DateToStr(dt1.Date) + ''' and ''' + DateToStr(dt2.Date) + ''' ';
Yukarıdaki gibi bir deneyebilirsin; + SQL textinin son halini görmek istiyorsan,sorununu çözebilmek için birebirdir. ShowMessage(IBQuery1.Text);
iyi günler... | |
| dtgb | 27.07.2005 - 13:11:16 |
| Hata mesajı olarak "Yanlış türdeki degişkenler kabul edilebilir aralık dısında veya baskasıyla cakısan bagımsız degislkenler kullanılıyor" diye bir hata
between komutunu sadece iki tarih arasındaki kayıtları gormek icin kullandıgımda sorunsuz calısıyor ama 2. bir kriter koydugumda ornegin iki tarıh arasında makine numaralarıda su olan dedigimde bu hatayı veriyor. | |
| Uğur1982 | 27.07.2005 - 16:07:40 |
| merhaba;
Hata mesajı olarak "Yanlış türdeki degişkenler kabul edilebilir aralık dısında veya baskasıyla cakısan bagımsız degislkenler kullanılıyor"
Bu hata mesajını veren SQL cümlesini gönderebilir misin? + birde hata mesajını default diliyle yazarsan daha iyi olur,anlaşılması için,alışkanlık... | |
| dtgb | 28.07.2005 - 09:01:38 |
| Hatanın kaynaklandıgı kısım burası Sql e bu kısmaı ekledigimde hata veriyor
if edit1.Text<> '' then Result :=AddResult(Result) +( ' Tarih between '''+ DateTimeToStr(dt1.DateTime)+''' and '''+DateTimeToStr(dt2.DateTime)+''''); Hata kısmında su yazıyor Project iplikhane.exe raised exception class EOleException With message "Yanlış türdeki degişkenler kabul edilebilir aralık dısında veya baskasıyla cakısan bagımsız degislkenler kullanılıyor" . Process stopped . Use Step Or Run to Continue. yukardaki kodu ekledigimde hata veriyor | |
| gkimirti | 28.07.2005 - 09:24:37 |
| Veri tabanın nedir, Acces mi?
Eger oyleyse sorunun basında belirtmeniz halinde bu kadar beklemzdiniz. bildigim kadarıyla access te tarih alanlarını #12.12.2004# seklinde kullanmak gerekiyor herkes ' ile tarih alanlarını kullanırken M$ gider tersine.... | |
| dtgb | 28.07.2005 - 09:40:08 |
| hayır veri tabanı sql
sorunu ancak su sekilde cozebildim iki ayrı sql cumlesi yazdım once tarih belirtilmisse o tarih aralıgına gore verileri suzuyor sonrada suzulmus olan verileri diger kriterlere gore sorgulayarak yaptım ama gecici bi cozum tabi | |
| 67neo | 05.08.2005 - 15:02:01 |
| Bence şu şekilde yaparsan daha sağlıklı olur;
var ilk_tarih : string; son_tarih: string; begin AdoQuery1.Close; AdoQuery1.SQL.Clear; AdoQuery1.SQL.Add('select * from table'); AdoQuery1.SQL.Add('where field_name between :fld_ilk_tarih and :fld_son_tarih'); AdoQuery1.Parameters.ParamByName('fld_ilk_tarih').Value := StrToDate(ilk_tarih); AdoQuery1.Paremeters.ParamByName('fld_son_tarih').Value := StrToDate(son_tarih); AdoQuery1.Open; end; | |
| Çağrıbey | 05.08.2005 - 15:31:34 |
| aşağıdaki örnekte sql veritabaninda denenmiştir..
kolay gelsin ----- procedure TForm1.cxButton7Click(Sender: TObject); begin AdoQuery1.Close; AdoQuery1.Sql.Clear; AdoQuery1.Sql.Add('Select * From TABLO1 where (Cevap_Tarihi>=:Tarih_ilki and Cevap_Tarihi<=:Tarih_Sonu) '); AdoQuery1.Parameters[0].Value :=(inputbox('Gorev onayı Tarihi ilki','','01/11/2004')); AdoQuery1.Parameters[1].Value :=(inputbox('Görev Onayı Tarihi Sonu','','12/12/2004')); AdoQuery1.Open; StatusBar1.Panels.Items[0].text:=('Kayıt Sayısı : ' +inttostr(AdoQuery1.RecordCount)); end; | |