Merhaba Kayra,
void BtnKaydetClick; var qIns: TclSQLQuery; SqlText, SqlBaglanti, LTarih, LSaat, LBelgeNo, LMakineKodu, LBakimKodu, LBaglanti, LAciklama: String; DosyaYolu, YeniKayit, LAy, LYil, LDurum, LTur, LPeriyot, LOperator, LBitisTur, LKisi: String; KayitListesi: TclStringList; { if (EdtBelgeNo == nil) { Exit; } if (EdtBelgeNo.Text == '') { ShowMessage('Lütfen önce bir Belge No seçin veya girin!'); Exit; } else if ((CmbBakimDurumu <> nil) && (CmbBakimDurumu.ItemIndex <= 0)) { ShowMessage('Lütfen bakım durumunu seçiniz!'); Exit; } else { ConnectToDatabase; if (not IsDBConnected) { ShowMessage('Veritabanı bağlantısı kurulamadı! Kayıt yapılamıyor.'); Exit; } LBelgeNo = EdtBelgeNo.Text; LMakineKodu = EdtMakineKodu.Text; // HATA DÜZELTME 1: Ana formdaki bakım kodu EdtBakimKodu bileşenidir. LBakimKodu = EdtBakimKodu.Text; LBaglanti = EdtBaglanti.Text; LAciklama = EdtAciklama.Text; LTarih = DateToStr(Now); LSaat = TimeToStr(Now); LOperator = EdtOperator.Text; LKisi = EdtKisiSayisi.Text; if (LKisi == '') { LKisi = '0'; }
// Bağlantı tarihi boşsa SQL'e NULL olarak gönderilmelidir, aksi takdirde dönüşüm hatası verir. if (LBaglanti == '') { SqlBaglanti = 'NULL'; } else { SqlBaglanti = 'CONVERT(DATETIME, ''' + LBaglanti + ''', 104)'; }
qIns = TclSQLQuery.Create(nil); try try qIns.Connection = Clomosy.DBSQLServerConnection; // HATA DÜZELTME 2: İlişkisel tablolar için RECID alanları, operatör ve kişi sayıları sorguya dahil edildi. SqlText = 'INSERT INTO [TBLURTBAKIMHR] ' + '(BELGE_NO, TARIH, BAS_TAR, BAS_SAAT, ACIKLAMA, BAKIM_BAGLANTI_ALAN, BAKIM_KODU_RECID, MAKINE_KODU_RECID, BAKIM_YAPAN_OPERATOR, BAKIM_KISI_SAYISI) ' + 'VALUES (' + '''' + LBelgeNo + ''', ' + 'CONVERT(DATETIME, ''' + LTarih + ''', 104), ' + 'CONVERT(DATETIME, ''' + LTarih + ''', 104), ' + '''' + LSaat + ''', ' + '''' + LAciklama + ''', ' + SqlBaglanti + ', ' + '(SELECT TOP 1 REC_NO FROM TBLURTBAKIMSB WITH (NOLOCK) WHERE BAKIM_KODU = ''' + LBakimKodu + '''), ' + '(SELECT TOP 1 REC_NO FROM TBLURTMAKINESB WITH (NOLOCK) WHERE MAKINE_KODU = ''' + LMakineKodu + '''), ' + '''' + LOperator + ''', ' + '' + LKisi + '' + ')';
qIns.SQL.Text = SqlText; qIns.ExecSQL; ShowMessage('Bakım hareketi veritabanına başarıyla kaydedildi!'); DosyaYolu = clPathCombine('BakimVerileri.txt', Clomosy.AppFilesPath); KayitListesi = Clomosy.StringListNew; if (clFileExists(DosyaYolu, '')) { KayitListesi.LoadFromFile(DosyaYolu, 0); }
if ((CmbBakimTuru <> nil) && (CmbBakimTuru.ItemIndex > 0)) { LTur = CmbBakimTuru.Text; } else { LTur = 'Bakim'; } if (CmbBakimDurumu.ItemIndex > 0) { LDurum = CmbBakimDurumu.Text; } else { LDurum = 'Bekliyor'; } if ((CmbTanimPeriyot <> nil) && (CmbTanimPeriyot.ItemIndex > 0)) { LPeriyot = CmbTanimPeriyot.Text; } else { LPeriyot = 'Tumu'; } if ((CmbPlanlananBitis <> nil) && (CmbPlanlananBitis.ItemIndex > 0)) { LBitisTur = CmbPlanlananBitis.Text; } else { LBitisTur = 'Saat'; }
LAy = Copy(LTarih, 4, 2); LYil = Copy(LTarih, 7, 4);
YeniKayit = LTur + '|' + LBelgeNo + '|' + LMakineKodu + '|' + LBakimKodu + '|' + LTarih + '|' + LDurum + '|' + LAy + '|' + LYil + '|' + LPeriyot + '|' + LOperator + '|' + LBaglanti + '|' + LTarih + ' ' + LSaat + '|' + LBitisTur + '|' + LKisi + '|' + LAciklama + '|';
KayitListesi.Add(YeniKayit); KayitListesi.SaveToFile(DosyaYolu, 0); KayitListesi.Free;
FormuTemizle; except ShowMessage('Kayıt sırasında bir veritabanı hatası oluştu!'); } finally qIns.Free; } } }
ilgili prosedürü güncelleyip çalıştırır mısın https://static.cloudflareinsights.com/beacon.min.js/v4513226cdae34746b4dedf0b4dfa099e1781791509496" rel="nofollow - https://static.cloudflareinsights.com/beacon.min.js/v4513226cdae34746b4dedf0b4dfa099e1781791509496" integrity="sha512-ZE9pZaUXND66v380QUtch/5sE9tPFh2zg45pR2PB0CVkCtOREv2AJKkSidISWkysEuQ0EH8faUU5du78bx87UQ==" data-cf-beacon="{"version":"2024.11.0","token":"439455f3e46c40b98dbd42a2f1a954d8","r":1}" crossorigin="anonymous">
|