Category: TOOLS
C# SQL SERVER TARIH MANTIGI
private dynamic GETDOVIZKURU(DateTime TARIH, bool isISLEMDOVIZI = false/*VARSAYILAN RAPORLAMA DOVIZI*/, string DOVIZCINSI = "20"/*20EURO*/)
{
string RESULT = "0";
int yil = TARIH.Year;
int ay = TARIH.Month;
int gun = TARIH.Day;
/*CONVERT(datetime, '22.12.1987' ,104 )
*/
string casteddate = "CONVERT(datetime, '"+gun.ToString()+"."+ay.ToString()+"."+yil.ToString()+"' ,104 )";
string RATE = isISLEMDOVIZI == true ? "RATES4" : "RATES1";
RATE = "RATES4";
try
{
//RESULT = SELECT2("SELECT TOP 1 " + RATE + " FROM LG_EXCHANGE_" + CFG.FIRMNR + " WITH(NOLOCK) WHERE YEAR(EDATE)<=" + yil + " AND MONTH(EDATE)=" + ay + " AND DAY(EDATE)=" + gun + " and CRTYPE=" + DOVIZCINSI + " /*EURO*/ ORDER BY EDATE DESC ", new SqlConnection(CONSTR_LG)).Rows[0][0].ToString();
RESULT = SELECT2("SELECT TOP 1 " + RATE + " FROM LG_EXCHANGE_" + CFG.FIRMNR + " WITH(NOLOCK) WHERE CONVERT(datetime, EDATE ,104 )<="+ casteddate + " and CRTYPE=" + DOVIZCINSI + " /*EURO*/ ORDER BY EDATE DESC ", new SqlConnection(CONSTR_LG)).Rows[0][0].ToString();
}
catch { }
return RESULT.Replace(",", ".");
}
Tarih Zaman : _SYNCDATE = SYNCDATE.Day.ToString() + “/” + SYNCDATE.Month.ToString() + “/” + SYNCDATE.Year.ToString() + ” ” + SYNCDATE.Hour.ToString() + “:” + SYNCDATE.Minute.ToString() + “:” + SYNCDATE.Second.ToString();
Saat ile işin yoksa:

Google drive senkronizasyon problemi
Yaklaşık 2 haftadır yaşadığım sorun. Google Drive değişiklikleri senkronize edemiyordu senkronizede takılıp kalıyordu.
Kaspersky endpoint security windows pause yaptım senkronizasyon düzeldi ama geri aktif edince yine patladı.
Kasperskydan destek aldım. Tool verdiler analiz edip zip dosyası oluşturan masaüstüne. Raporu yolladım incelediler birkaç program silmemi söylediler ilgili rapora göre , windows updateinde bir patchda bir versionda sorun varmış fixini yaptım yine düzelmedi.
Son olarak mevcut sürümü silip Kaspersky endpoint for windows 11in güncel versionunu kurunca sorunum düzeldi. Hatta kurulum öncesi son windows güncelleştirmelerinide yaptım.
Not telefonum uygulamasıda aynı sorundan muzdaripti oda düzeldi…
İşletim sistemi : Windows 10 64 bit 21h1 19043.1348 ,
Google drive versionu : 53.0.8.0 ,
Kaspersky çalışan version : Kaspersky endpoint for windows 11 11.7.0.669
GROUP BYSIZ SUBQUERY İLE BELİRLİ BİR ALANIN TOPLAMINI ALMA
subquerynın icine tek olan bir değer koy örnek FORSUM=0 HER SATIRDA 0 OLSUN BU
SONRA SUBQUERYNIN USTUNDE
SUM(NETTOTAL) OVER(PARTITION BY FORSUM) AS TOTAL_NETTOTAL,
ÖRNEK
SELECT DISTINCT SUM(NETTOTAL) OVER(PARTITION BY FORSUM) AS TOTAL_NETTOTAL
FROM (
SELECT
0 FORSUM,
FICHENO,NETTOTAL
FROM LG_946_01_INVOICE
) AS T
LOD CUSTOM FORMA CUSTOM TABLEDAN UPDATE İŞLEMİ
Not: Custom tableda tek row olacaktır db kullanıcı bilgilerini tutacaktır. Dolayısıyla Insert işlemi olmayacaktır.Sadece update olacaktır

.



Sub ButtonClick(ctrl as String)
if ctrl="B_SAVE" then
DbErr=0
CustTables[4].Search(2,2,1)'tek row olacağı için sondaki 1 olmalı ilk logref yani
if DbErr<>0 Then
CustTables[4].NewRecord()
End if
GetTextVal("T_SERVER",T_SERVER)
GetTextVal("T_DB",T_DB)
GetTextVal("T_SQL",T_SQL)
GetTextVal("T_PAROLA",T_PAROLA)
CustTables[4].SetTxtField("SERVER", T_SERVER)
CustTables[4].SetTxtField("DB", T_DB)
CustTables[4].SetTxtField("USERNAME", T_SQL)
CustTables[4].SetTxtField("PASSWORD", T_PAROLA)
DbErr=0
CustTables[4].UpdateRecord()
if DBErr<>0 then
Warn(DBErr)
end if
CloseForm()
end if
End Sub
Sub FormShow()
DbErr=0
CustTables[4].Search(2,2,1)'tek row olacağı için sondaki 1 olmalı ilk logref yani
if DbErr=0 Then
CustTables[4].GetTxtField("SERVER",T_SERVER)
CustTables[4].GetTxtField("DB",T_DB)
CustTables[4].GetTxtField("USERNAME",T_SQL)
CustTables[4].GetTxtField("PASSWORD",T_PAROLA)
end if
SetTextVal("T_SERVER",T_SERVER)
SetTextVal("T_DB",T_DB)
SetTextVal("T_SQL",T_SQL)
SetTextVal("T_PAROLA",T_PAROLA)
End Sub
ORACLE TARİH SORGULAMASI
SELECT* FROM V_LOGO_SATISFATURASI WHERE trunc(TARIH) BETWEEN
TO_DATE("01/01/2021","DD/MM/YYYY") AND TO_DATE("16/01/2021", "DD/MM/YYYY")
YADA
WHERE trunc(TARIH)>=CURRENT_DATE-180
DEVEXPRESS GRID LOAD SAVE FROM REGISTRY VERSION
string version = "";
public FRM_MALZEME_FIYATLARI() {
InitializeComponent();
version = "v" + Assembly.GetEntryAssembly().GetName().Version;
DX.DXGRID_LOADLAYOUTFROM_REGISTIRY(GRC_MALZEMEFIYATLARI, GetType().Namespace, "SATISFIYATI_OTOMASYONU_SERVICE__FRM_MALZEMELER_FIYATLARI" + version);
DX.DXGRID_SAVELAYOUTTO_REGISTIRY(GRC_MALZEMEFIYATLARI, GetType().Namespace, "SATISFIYATI_OTOMASYONU_SERVICE__FRM_MALZEMELER_FIYATLARI" + version);
}
SQL SERVER DB TABLO YAPILARI ve TAVSİYELERİ
sql server db tablo yapı tavsiyeleri
full kucuk harf ingilizce karakter kullan,Ornek İplik Adı = iplik_adi gibi
referanslı int alanların başında id_malzeme gibi şeklinde kullan(böyle olmasının sebebi id_ görürse otomatik olarak int varsaysın table script generator)
primarykey ismi = id_ olsun
varchar yerine nvarchar kullan