Saglık-NET

22 Tem 2008 In: .net, program, tam-med

Sağlık-NET, sağlık kurumlarında üretilen her türlü veriyi, doğrudan üretildikleri yerden, standartlara uygun şekilde toplamayı, toplanan verilerden tüm paydaşlar için uygun bilgiler üreterek sağlık hizmetlerinde verim ve kaliteyi artırmayı hedefleyen, entegre, güvenli, hızlı ve genişleyebilen bir bilgi ve iletişim platformudur.

 

Sağlık-NET ile yapılmak istenen; vatandaşların "doğumdan ölüme kadar ve ölüm sonrasında" sağlık verilerini merkezde güvenli bir şekilde tutmak suretiyle sağlık bilgisine erişimi kolaylaştırıp hizmet kalitesini artırmaktır.

e-Saglık olarakda adlandırabilecegimiz bu hizmet Ekim 2008 ayından itibaren devlet hastanelerinde, Ocak 2009 itibarı ilede özel hastanelerde faaliyete başlıyacak. Şu an yanlızca hasta veri setleri iletile biliyor, ama yakın gelecekte mali ve idari veri setleri de iletilmeye başlanacak.

Hizmet WSE ile güzenligi saglanan Web Servisleri üzerinden verilmekte. Saglık bakanlıgı tarafında, Oracle veri tabanı ve Application serverları kullanılmakta. Java kullanılarak geliştirilen web servislerinin listesi aşagıda




Hastanelerin en kısa sürede bu sisteme kendilerini entegre etmeleri gerekmekte. Hastanede ki hasta ile ilgili işlemlerin saglık bakanlıgına Saglık-NET ile iletilmesi bekleniyor. Tabiki iletilecek verilerin çeşitliligi bu sistemi oldukca karmaşık kılıyor.

Mesela basit bir aşı bildirimi için hasta bilgisi, işlem bilgisi,  aşının ICD kodu ve uygulama bilgileri. Yukarıdaki her bir işlem için ayrı web servisler üretilmiş.
Her birinde ortak kullanılan bir çok nesne olmasına ragman, ayrı WSDL lerden eklenip türetilmesinden dolayı her objeyi yeniden yaratmanız gerekmekte.

Buda cod hammallıgına dönüyor. C# da dynamic casting yapılmadıgı için her Web servisinde(WSDL) yeniden tanımlamak gerekmekte. Belki bazı şık çözümler üretmek için tartışılabilir. MSVS ler HL7 kullanılarak modellenmiş (kırpılmış). Bizden once aynı sistemi uygulayan çeşitli ülkelerden örnek alınmış.

Peki client lar ve saglık bakanlıgı hangi ortak dili kullanacak ?
    Mesaj standartı olarak HL7 v3.0 tercih edilmiş, bu yeni standart XML temelli olmasında dolayı, hem gözle takip edile biliyor hemde makinalar arasında çok rahat tranfer edilebiliyor.

HL7 v3.0 da gonderilecek verilerin standartı ne olacak? Herkes aynı saglık terimlerini nasıl kulanıcak?
    Ulusal Sağlık Veri Sözlüğü (USVS) adı verilen yapı ile butun saglık camiası aynı terimleri ve kullanılacak Veri tipleri burada tanımlı. Kullanıcıların gönderebilecegi tanımlı veriler ise Sağlık Kodlama Referans Sunucusu ( SKRS)  serverindeki web servisinden sorgulana biliyor.

HBS ler bu verileri kendi serverlarına taşıyacak ve belli aralıklarla güncelleyecekler. ICD kodları, Aşı kodları, ülke bilgileri, tanı lar hepsi bu serverde tutuluyor:


• Tanı Sınıflama Sistemi (ICD–10)
• Tanı Sınıflama Sistemi (ICPC2)
• İlaç ve İlaç Sınıfları Kodlama Sistemi (ATC)
• Sağlık Uygulama Tebliği (SUT) Kodları
• Klinik Kodları
• Branş Kodları
• Sağlık Kurumu Kodları
• Adres Kodları
• Aşı Listesi
• Aşı Takvimi Değerleri Listesi
• Meslek Grupları Listesi
• Parametreler Listesi
• Bebek İzlem Listesi
• Gebe İzlem Listesi
• Çocuk İzlem Listesi
• Persentil Değerleri Listesi
• Olası Tanı Kriterleri
• Enfeksiyon Etkenleri Tanı Kriterleri
• Tümör Yerleri
• Kesin Tanı Kriterleri
• Histoloji Kodları
• Doktor Bilgi Bankası
• Sözlük Veri Kapsamı Alan Kodları

İzmir, Çeşmedeki çalıştay entegrasyon açısından oldukca verimli geçti. Saglık bakanlıgındaki personel ve SRDC ekibi (TestBATN ı geliştiren ekip) destek konusunda sınır tanımadılar ve özverilerililerdi.

Bizim tarafda mevcut HBS ile entegrasyon hızla yol alıyor. TAMMED , saglık-net'e hazır.

Gaziantep de Yazılım Egitimi

27 May 2008 In: .net, ilginç

Şu bir kaç aydır sürekli bu soruyu soruyorum, neden ögrenci sıkıntısı çekiyoruz, biliyorum piyasada bu kadar kalifiye personel ihtiyacı varken, programlama konusunda başlangıç seviye bilgisi olan kişilerin, kendilerini sürekli geliştirmek istemediklerini anlamıyorum.

İnsanlar hemen yüksek maaşlı işler istiyorlar, özellikle yeni mezunlar. Halbuki kendi kanım şu yönde;
okul yani üniversiteden alınan diploma yanlızca bir referans olmalıdır. Tıpkı sürücü ehliyeti gibi, ehliyetiniz var olması çok iyi araba kullanıyorsunuz anlamına gelmiyor ve ralliye katılmaya hazır oldugunuz anlamınada hiç gelmiyor.

Okul bize yazılım alanında bir marka veya firmanın ürünlerini anlatacak diyede bir durum yoktur. Okul size yanlızca gerekli doneleri verecek.
Siz kendinizi geliştireceksiniz. Güncel teknolojileri takip edip kendinizi sıkı tutacaksınız.

Şu an popüler olan ve günümüz ihtiyaçlarını karşılayan Microsoft un .Net ise onu ögrenmek lazım. Yarın başka bir şeyse ona odaklanmak lazım. 
Şimdi C# popüler yarın Java olabilir yada F# . Mutlaka bilgi sahibi olmak lazım giriş seviyesinde. Ama bu demek degil daldan dala atlayıp hepsini yarım yarım bilmek.

Mutlaka bir konuda uzman olduktan sonra, yeteneklerimi sürekli gelişmemiz lazım. Ve bizim meslegimiz bu konuda digerlerine hiç benzememekte. Diger mühendislik alanlarında fakülte ne ögrettiyse ömür boyu onu korumak yeterli bizim ki ise tam tersi, siz okula başladıgınızda populer olan bir teknoloji daha mezun olmadan geçerliligini kaybetme, yeni ve farklı versiyonları çıkmakta ve piyasa sizden adapte olup hatta uzman olmanızı beklemekte.

Gaziantep bir çok yazılım firması olmasına ragmen ve yazılımcı olmak isteyen genç sayısınında çok olmasına ragmen neden biz ögrenci bulamıyoruz hala bilemiyorum?

Uzun bir sayfanız varsa, scroll asagı indikce iniosa ve her post back işleminden sonra bi yukarı bi aşagı sayfayı kaydırmaktan bıktıysanız bu tip tam size göre. Tek yapmanız gereken yanlızca :

1- Bütün proje için geçerli olmasını istiosanız Web.config de page kısmına

               <pages maintainScrollPositionOnPostBack="true" />  eklemek.

2- Yanlızca o sayfa için istiosanız, istediginiz sayfanın başına  
         
               <%@ Page MaintainScrollPositionOnPostback="true" %> eklemek.

3- Bir farklı yoluda kod ile yapmak

               System.Web.UI.Page.MaintainScrollPositionOnPostBack = true;  eklemek.


Bu kadar artık kaydırma çubugu yani scroll bar nerede bıraktıgınızı hatırlayacak. Sayfa refresh olsa bile.

Hepimiz projelerimizde olmazsa olmaz control olan DataGrid veya GridView ı kullanıyoruz. Peki göstermemiz gereken verinin çok fazla ise, hiç kimse 20 sayfa aşagı uzanan bir gride bakmak istemez.

Bunun 3 çözümü var.

1. Klasik olan sayfalama yontemi, controllerin içinde mevcut olan AllowPaging özelligi sayesinde her sayfada kaç satırın gösterilecegini ve sayfalama methodunu seçmemiz yeterli.

2. iframe kullanarak o GridViewi oraya yerleştirmek, iframe sabit bir bouyt vermek Height="200px" Width="400px" gibi Scrolling i de Auto yapmamız yeterli.

3. Bu Son çözüm bence en şık olanı eger sayfalama istemiyor ve butun kayıtları görüntülemek istiyorsanız, bu çözüm tam size göre.

   ilk olarak grid i göstermek istidiginiz sayfada HTML kodlarının içinde gridi bu DIV satırlarının arasına koyun

<DIV style="OVERFLOW: auto; HEIGHT:330px">
         datagrid veya gridview nesnesi buraya
</DIV>

İşte bu satırlar grid view i kaydırma çubugu içerinde çok hoş bir şekilde göstericek sanki bi fram içerinde gibi. Lakin bir sorun oluşacak siz aşagı dogru scroll yapınca grid in header i yani column isimleride görünmez olacak.O yuzden grid in headerinin sabitlenmesi gerekicek. Buyüzden bu CSS trik ini kullanıcaz...

Sayfanızın <HEAD> tagları arasına da bu stili ekleyelim

<style type="text/css">
.DataGridFixedHeader {background-color: white; position:relative; top:expression(this.offsetParent.Top-1)
;}
</style>


Ekledikten sonra tek yapmamız gereken gridin header e bu CSS i uygulamak. 2 yolu mevcut 

   1. Design aşamasında gride tıklayıp Properties den "Header" i seçip "CssClass" a şunu yazmak

               "ms-formlabel DataGridFixedHeader"

   2. yada HTML sekmesinden koda eklemek 

               <asp:DataGrid id="dgContacts" runat="server" ... >...   
               <HeaderStyle CssClass="ms-formlabel DataGridFixedHeader"></HeaderStyle>...

ne kadar kolay demi ;)

Sanırım ASP.Net de Response.Redirect kullanarak yeni bir pencere açtırmanın bir yolunun olmadıgını biliyorsunuz. Eger bir event gerçekleştiginde yeni bir sayfa açmak ama bunu _blank yani yeni bir pencerede açtırmak istiyorsanız, sanki popup gibi, bir tek yolunuz var oda JScript kullanmak.

 

Herhangi bir anda JS ile window.open kullanarak yeni pencere acacaksanız C# da şunu kullanmalısınız :

 

 

 

string jskodumuz= @"<script language='javascript'>window.open(""kkformu.aspx"",null,""height=900,width=700, status=yes,toolbar=no,
menubar=no,location=no"");</script>";

ClientScript.RegisterStartupScript(GetType(),"YeniPencere",jskodumuz);

 

 

 

 

Ama eger AJAX kullanıyorsanız UpdatePanel buna izin vermeyecektir, siz o zaman bu kodu kullanıyorsunuz:

 

  

ScriptManager.RegisterClientScriptBlock(this.UpdatePanel1, typeof(string), "yeniac", "window.open(\"kkformu.aspx\",null,\"height=900, 
width=700,status=yes,toolbar=no,menubar=no,location=no\");" , true);

 

Bu kod ile yeni bir pencere açtırmış oluyoruz, bi çok forumda soruldugunu gördüm, cevaplıyayım dedim.

 

.Net Egitimi

25 Tem 2007 In: hoş, yeni, .net

Nihayet bugün .Net platformunda C# ile yazılım uzmanlıgı egitimimize başlıyoruz. Kursumuz 192 saat sürecek. Gaziantep Ardemsoft Egitim Merkezinde verecegiz.

Çarşamba - Cumartesi ve Pazar günleri. Kurs ile ilgili gelişmeleri size buradan verecegim. Gaziantepdeki ilk c# 2.0 egitimi .

Meslegine Sahip Çık !

7 Oca 2007 In: dikkat, olmazsa olmaz, .net

Meslegi olmayan kişileri, bari  "Bilgisayarcı" olsun diye yetiştirmeyi  kendine amaç edinen " Yetkili Egitim Merkez "lerinin yetiştirdigi "Yazılımcı, Sertifikalı, Cracker"ların durumunu anlatan makaleyi okuyunca çok etkilendim.  EMO nun basın açıklamasından sonra Microsoft Certified System Engineer olan ünvanı Microsoft Certified System Expert olarak değiştirmiş.

Yazı Şule Tansal'a aittir. Ben özetledim yazının orjinalı "Elektrik Mühendisligi" dergisi Kasım 2006 da 429 uncu sayısında yayınlanmıştır.
Linki : 
"
http://www.emo.org.tr/resimler/ekler/f88d16112663ef3_ek.pdf?dergi= "



Ülkemizde Bilgisayar Mühendisligi alanında egitim veren 61 fakülte (Kıbrıs dahil) bulunmaktadır. Bilgisayar mühendisligi alanında kontenjan toplam 3.290 kişidir (İkinci egitim ve burslular dahil). 2005 yılında Bilgisayar Mühendisligi egitimi veren üniversite sayısı 55 iken bu 2006 yılında 64 olmuştur.

Mühendislik fakülteleri dışında 4 yıllık egitim başka programlarda bulunmaktadır. Egitim fakültelerde ise "Bilgisayar Ögretmeni" yetiştirmektedir.

Eleman açıgı söylemleri, bir yandan sektörde çıg gibi büyüyen "Yetkili Egitim Merkezi" oluşumlarını kolaylaştırmakta, bir yandan da marka-ürün temelli egitimlerle tek tip insanlar yetişmesine katkıda bulunmaktadır.

Yukarda sözünü ettiğimiz öğrenme biçimleri dışında informal öğrenmeler diyebileceğimiz, herhangi bir kurum/kuruluşa tabi olmadan kişilerin merak ve ilgileri ile tetiklenen Bilgisayar başı/İnternet başı/Forum başı öğrenmeler diyebileceğimiz dergiler/ CD’ler, televizyon programları ve web siteleri bilginin sınırsızca dolaştığı ortamlar olarak karşımıza çıkmaktadır.

Hemen hiçbir meslek alanında rastlanmayan bir “sınırsızlık” söz konusudur. Bu sınırsızlık, “Hiçbir iş sahibi olamayanları ‘Bilgisayarcı’ yapalım” noktasına kadar gelmiştir. Bilgisayar–Bilişim eğitimleri konusunda uluslararası çalışmalara bakıldığında doğrusu kafa karışıklığımız biraz daha artmaktadır. Çünkü Bilgisayar Bilimleri ve Bilgisayar Kullanımı diyebileceğimiz bir sınıflandırma söz konusudur ve Bilgisayar Mühendisliği donanım (elektronik) ağırlıklı olarak ele alınmaktadır.

Diğer mühendislik eğitimlerinin tartışma çerçevesi belli iken Bilgisayar Mühendisliği’nde çerçeveyi oluşturmak oldukça güç görünmektedir. Geçmişte yaşanan “alaylı-okullu” tartışması, bugün “mühendis – yazılımcı – sertifikalı – hacker – cracker” gibi kavramlara evrilmektedir. Bilgisayar Mühendisleri savunmadıkları alanlarını bir gün kaybetme tehlikesi ile karşı karşıya kalacaklardır.



-Bu konu hakında çok tartışılmıştır lakin bütün sorunun kaynagı bir firmanın bu kadar büyük olması. Mühendislik fakültesinden mezun hiç bir mühendisin uzmanlıgı bir firmanın pazarladıgı ürünleri iyi bir şekilde kullanmak olmamalı. Microsoft ürünlerini ileri seviyede hakim ve kullanma biliyorsanız, siz o konuda uzman (expert) sınızdır, bu sizi mühendis yapmaz.

Bir diger önemli gerçekde "Diplomanın bir referans oldugu ve en önemli şeyin kişisel beceri ve yetenek oldugu"dur. Size ne ünvan verilirse verilsin.

ASP.Net'e dair bir kaç ipucu

30 Tem 2005 In: .net, ipucu

Data GridView veya DataList içeridinde CheckBox kullanıyorsanız ve DB deki alan veri türü olarak integer kullanıyorsanız, checkbox u seçili checked a alabilmek için

<asp:CheckBox ID="CheckBox6" runat="server" Checked='<%# Eval("Evrak6").ToString().Equals("1") %>' />

 Data GridView da controlu özelleştirme // Format_String

<asp:TemplateField HeaderText="Sipariş No">
<ItemTemplate>
<asp:Label ID="Label1" runat="server" Text='<%# DataBinder.Eval(Container.DataItem, "SIPA_ID", "{0:00000}")  %>'></asp:Label>
</ItemTemplate>                                          
</asp:TemplateField>

 ----------------------------------

 <% Response.Write((Request["yiyd"] == "1" ? "Yurtdışı" : "Yurtiçi")); %>

---------------------------------- 

 <td><%#Eval("Iptal").ToString()=="0" ?"Aktif":"Pasif" %></td> 
 <a href='<%#Eval("BAY_ID", "bayiler.aspx?op=ed&bay={0}") %>' 

----------------------------------

 DataKeyNames="ID, Name"

dtg_personel.SelectedDataKey[0].ToString()

 

--------------

     protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)

    {        

        if (e.Row.RowType == DataControlRowType.DataRow)
        {

            e.Row.Attributes["onmouseover"] =  "javascript:setMouseOverColor(this);";

            e.Row.Attributes["onmouseout"] =  "javascript:setMouseOutColor(this);";

            e.Row.Attributes["onclick"] = ClientScript.GetPostBackClientHyperlink  (this.GridView1, "Select$" + e.Row.RowIndex);
        }
    }

 

var oldgridSelectedColor;

function setMouseOverColor(element)

{

    oldgridSelectedColor = element.style.backgroundColor;

    element.style.backgroundColor='yellow';

    element.style.cursor='hand';

    element.style.textDecoration='underline';

}

 

function setMouseOutColor(element)

{

    element.style.backgroundColor=oldgridSelectedColor;

    element.style.textDecoration='none';

}

 

 

 string percentage = ((DataBoundLiteralControl)e.Row.Cells[7].Controls[0]).Text; 

 DataBinder.Eval(e.Row.DataItem, "ColumnName"); 

----------------------------

 

 <asp:HyperLink ID="hlnk_git" runat="server"  NavigateUrl='<%# Eval("urunID", "urun_goster.aspx?id={0}") %>' >Ürüne Gözat</asp:HyperLink>

 

 ---------------- 

 

DataRowView drv = (DataRowView)e.Item.DataItem ;

b.CommandArgument = drv.Row["Baslik"].ToString(); 

 

 

 

-----------------------------------

 

 

  protected void dtg_ogren_RowCommand(object sender, System.Web.UI.WebControls.GridViewCommandEventArgs e)

    {

        if (e.CommandName.ToLower() == "delete")

        {

            GridViewRow row = (GridViewRow)(((ImageButton)e.CommandSource).NamingContainer);

            LogLa(Session["inside"].ToString(), "Silindi", row.Cells[6].Text, dtg_ogrenciler.SelectedDataKey[0].ToString());

        } 

}

 

 UpdateCommand="UPDATE [Cihazlari] SET [UDate] = getdate(), [UUsern]=@UUsern,.."

 

<UpdateParameters>           

                <asp:SessionParameter Name="UUsern" Type="String" SessionField="inside" /> 

 

 

 

---------------------------------------

 

    public string SQLCalistir_Scalar(string cmd)
    {
string s="";
        SqlConnection conn_l = new SqlConnection(ConfigurationManager.ConnectionStrings["ConnStr_xxx"].ConnectionString);
        SqlCommand comm_l = new SqlCommand(cmd, conn_l);

        try
        {
            if (conn_l.State != ConnectionState.Open)
                conn_l.Open();
            comm_l.CommandText = cmd;

            s=comm_l.ExecuteScalar().ToString();
            return s;
        }
        catch (Exception)
        {
            return s;
        }
        finally
        {
            if (conn_l.State != ConnectionState.Closed)
                conn_l.Close();

            comm_l.Dispose();
            conn_l.Dispose();
        }
    } 

 

public string SQLCalistir_Query(string cmd)
    {
string s="";
        SqlConnection conn_l = new SqlConnection(ConfigurationManager.ConnectionStrings["ConnStr_xxx"].ConnectionString);
        SqlCommand comm_l = new SqlCommand(cmd, conn_l);

        try
        {
            if (conn_l.State != ConnectionState.Open)
                conn_l.Open();
            comm_l.CommandText = cmd;

            s=comm_l.ExecuteNonQuery().ToString();
            return s;
        }
        catch (Exception)
        {
            return s;
        }
        finally
        {
            if (conn_l.State != ConnectionState.Closed)
                conn_l.Close();

            comm_l.Dispose();
            conn_l.Dispose();
        }

    }  

 

      public DataTable SQLCalistir(string cmd)
    {
        DataTable  dt = new DataTable();
        SqlConnection conn_l = new SqlConnection(ConfigurationManager.ConnectionStrings["ConnStr"].ConnectionString);
        SqlDataAdapter adap_l = new SqlDataAdapter(cmd, conn_l);

        try
        {
            if (conn_l.State != ConnectionState.Open)
                conn_l.Open();
            adap_l.SelectCommand.CommandText = cmd;

            adap_l.Fill(dt);
            return dt;
       }
        catch (Exception)
        {
            return dt;
        }
        finally
        {
           if (conn_l.State != ConnectionState.Closed)
                conn_l.Close();
            adap_l.Dispose();
            conn_l.Dispose();
        }
   } 

 

  ------------------------------------------------------------------------------------

 

  

GridView Control

protected void gvUsersBF_RowDataBound(object sender, GridViewRowEventArgs e)

    {

        if (e.Row.RowType == DataControlRowType.DataRow)

        {

            DataRowView drv = e.Row.DataItem as DataRowView;

                if (drv != null)

                {

            string id = drv.Row[0].ToString();

 }

        }

    }

 

DataList Control

protected void DataList1_ItemDataBound(object sender, DataListItemEventArgs e)

    {

        if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)

        {

            DataRowView drv = e.Item.DataItem as DataRowView;

                if (drv != null)

                {

            string id = drv.Row[0].ToString();

}

        }

    }

 

Repeater Control

protected void rpErrorResolution_ItemDataBound(object sender, RepeaterItemEventArgs e)

    {

        if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)

        {              

                Resolutions res = e.Item.DataItem as Resolutions;

                if (res != null)

                {

                    authorid = res.UserID.ToString();

                }

                

        }

    }

 

  ----------------- SQL sıra numarası verme -----------------------

 

 SELECT ROW_NUMBER() OVER(ORDER BY rh.RUH_ID) AS 'SNO', 

 

--------------- SQL sayfalı sıra numarası verme ----------------------

 

 WITH sayfali AS

(

    SELECT ROW_NUMBER() OVER(ORDER BY RUH_ID) AS 'SiraNO',* FROM Ruhsatlar

)

 

SELECT * FROM sayfali WHERE SiraNO BETWEEN 5 AND 10

 

 

---------------------------------

 

<a href='<%# String.Format("rdetail.aspx?r={0}&p={1}", Eval("REP_ID"),Eval("P_KODU")) %>'>Detay...</a> 

 <asp:Label ID="Label2" runat="server" Text='<%# Bind("Message") %>'></asp:Label>

 

 

--------------------------------

XML dosyası tek kayıt deger okuma

XmlDocument xmlDocument = new XmlDocument();
xmlDocument.Load("C:\\OBS\\CMP\\web.config");
txtServer.Text = xmlDocument.SelectSingleNode("configuration/appSettings/add[@key='Smtp']").Attributes["value"].Value;

------------------------------------

//DB Operations


---------------------------------------------------------------------------

 

ClientScript.RegisterStartupScript(GetType(), "YeniPencere", @"<script language='javascript'>alert(' Yeni sipariş kaydedildi. ');window.location.href = 'inside.aspx';</script>");

Datalist rownumber : <%#Container.ItemIndex+1 %>

JS yanlızca sayı girile bilmesi :  onkeypress="validate(event);" 

    function validate(evt) {

        var theEvent = evt || window.event;

        var key = theEvent.keyCode || theEvent.which;

        key = String.fromCharCode(key);

        var regex = /[0-9]|\,/;

        if (!regex.test(key)) {

            theEvent.returnValue = false;

            if (theEvent.preventDefault) theEvent.preventDefault();

        }

    } 

JS ile textboxun içindekini focus olunca tutma, değişmemisse çıkınca geri atama 

    var eski = ""; 

    function tut(element) {

        eski = element.value;

        element.value = '';

    }

 

   function ver(element) {

        if ('' == element.value) {
            element.value = eski;
            element.style.background = '#FFFFFF';

        }

        else
            element.style.background = '#A9F5BC';
    }

 

 İsk. 1:<asp:TextBox ID="txt_st_i1" runat="server" Width="40px" onfocus="tut(this);" onblur="ver(this);" onkeypress="validate(event);" >0</asp:TextBox>

 

 

-------------------------------------------------------

SQL Switch Case yapısı

CASE
WHEN TBLSIPATRA.CEVRIM <= 0 THEN CONVERT(decimal(18,2),TBLSIPATRA.STHAR_GCMIK)
WHEN TBLSIPATRA.CEVRIM > 0 THEN CONVERT(decimal(18,2),TBLSIPATRA.STHAR_GCMIK*TBLSIPATRA.CEVRIM)
ELSE '-'
END AS Miktar,

CASE
WHEN TBLSIPATRA.OLCUBR = '1' THEN TBLSTSABIT.OLCU_BR1
WHEN TBLSIPATRA.OLCUBR = '2' THEN TBLSTSABIT.OLCU_BR2
WHEN TBLSIPATRA.OLCUBR = '3' THEN TBLSTSABIT.OLCU_BR3
ELSE '-'
END AS Olcu 

 

 

-------------------------------------------------------------------------------------------------- 

   protected void rpt_kayitlar_ItemDataBound(object sender, RepeaterItemEventArgs e)

        {

            if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)

            {

             = DataBinder.Eval(e.Item.DataItem, "OpTAS_ID").ToString() 

  

---------------------------------

 

public string TakipNoUret()

    {

        Random rn = new Random();

        int lenght = 5;

        StringBuilder rs = new StringBuilder();

        string charPool = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";

        string numPool = "1234567890";

        while (lenght > 0)

        {

            if(lenght==5||lenght==4||lenght==2||lenght==1)

                rs.Append(numPool[(int)(rn.NextDouble() * numPool.Length)]);

            if (lenght == 3 )

                rs.Append(charPool[(int)(rn.NextDouble() * charPool.Length)]);

            lenght--;

        }

        if (SQLCalistirScalar("SELECT COUNT (DOS_ID) FROM DavaDosyalari WHERE TakipNo='" + rs.ToString() + "'") != "0")

            return TakipNoUret();

        return rs.ToString();

    } 

 

---------------------------------------------------------

 n.CDate = DateTime.ParseExact(txt_CDate.Text, "dd.MM.yyyy", System.Globalization.CultureInfo.CurrentCulture); 

 

 

-------------------------------------------------------

 

        //------------DB Operations------------

//------------DB Operations------------
public DataTable SQLCalistir_D(string cumle)
{
DataTable dt = new DataTable();
using (SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["ConnStr"].ConnectionString))
{
using (SqlDataAdapter adap = new SqlDataAdapter(cumle, conn))
{
try
{
conn.Open();
adap.Fill(dt);
}
catch (Exception)
{
}
}
}
return dt;
}
public DataTable SQLCalistir_D(string cumle, SqlParameterCollection coll)
{
DataTable dt = new DataTable();
using (SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["ConnStr"].ConnectionString))
{
using (SqlDataAdapter adap = new SqlDataAdapter(cumle, conn))
{
try
{
conn.Open();
foreach (SqlParameter p in coll)
{
SqlParameter pp = new SqlParameter(p.ParameterName, p.SqlDbType);
p.IsNullable = true;
pp.Value = (p.Value == null ? DBNull.Value : p.Value);
adap.SelectCommand.Parameters.Add(pp);
}
adap.Fill(dt);
}
catch (Exception)
{
}
}
}
return dt;
}
public string SQLCalistir_S(string cumle)
{
using (SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["ConnStr"].ConnectionString))
{
using (SqlCommand comm = new SqlCommand(cumle, conn))
{
try
{
conn.Open();
return comm.ExecuteScalar().ToString();
}
catch (Exception)
{
return "";
}
}
}
}
public string SQLCalistir_S(string cumle, SqlParameterCollection coll)
{
using (SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["ConnStr"].ConnectionString))
{
using (SqlCommand comm = new SqlCommand(cumle, conn))
{
try
{
conn.Open();
foreach (SqlParameter p in coll)
{
SqlParameter pp = new SqlParameter(p.ParameterName, p.SqlDbType);
p.IsNullable = true;
pp.Value = (p.Value == null ? DBNull.Value : p.Value);
comm.Parameters.Add(pp);
}
return comm.ExecuteScalar().ToString();
}
catch (Exception)
{
return "";
}
}
}
}
public string SQLCalistir_N(string cumle)
{
using (SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["ConnStr"].ConnectionString))
{
using (SqlCommand comm = new SqlCommand(cumle, conn))
{
try
{
conn.Open();
return comm.ExecuteNonQuery().ToString();
}
catch (Exception)
{
return "";
}
}
}
}
public string SQLCalistir_N(string cumle, SqlParameterCollection coll)
{
using (SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["ConnStr"].ConnectionString))
{
using (SqlCommand comm = new SqlCommand(cumle, conn))
{
try
{
conn.Open();
foreach (SqlParameter p in coll)
{
SqlParameter pp = new SqlParameter(p.ParameterName, p.SqlDbType);
p.IsNullable = true;
pp.Value = (p.Value == null ? DBNull.Value : p.Value);
comm.Parameters.Add(pp);
}
return comm.ExecuteNonQuery().ToString();
}
catch (Exception)
{
return "";
}
}
}
}

 

 

 

-------  New line in the title of html tags or JS alert message -------

 

&#013; 

&#10; 

  newline in JS

 

--------- FindControl in MasterPage and ContentPlaceHolder

(DropDownList)Master.FindControl("ContentPlaceHolder1").FindControl("ddl_saatsecimi" + k + "_" + j); 

 

-------- Repeater ItemCommand

  <asp:Button ID="btn_sec" runat="server" CssClass="btn btn-warning" Text=" SEÇ " CommandName="sec" CommandArgument='<%#Eval("SOZ_ID") %>' Tutar='<%#Eval("Tutar") %>'  /></td>

        protected void rpt_kayitlar_ItemCommand(object source, RepeaterCommandEventArgs e)
        {
            if(e.CommandName=="sec")
            {
                //chk_tahsiledildi.ToolTip = e.CommandArgument.ToString();
                chk_tahsiledildi.Attributes["tutar"] = ((Button)e.CommandSource).Attributes["tutar"].ToString();
                chk_tahsiledildi.Attributes["sozid"] = e.CommandArgument.ToString();
                tahlarigetir(e.CommandArgument.ToString());
            }
        }

 

 

------sql execute non query with sql parameters

 

       public string scn(string cumle, string ConnStr, string p1, string p2, string p3)
        {
            using (SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings[ConnStr].ConnectionString))
            {
                using (SqlCommand comm = new SqlCommand(cumle, conn))
                {
                    try
                    {
                        conn.Open();
                        SqlParameter p;
                        if (String.IsNullOrEmpty(p1))
                        {
                            p = new SqlParameter("P1", p1);
                            comm.Parameters.Add(p);
                        }

                        if (String.IsNullOrEmpty(p2))
                        {
                            p = new SqlParameter("P2", p2);
                            comm.Parameters.Add(p);
                        }

                        if (String.IsNullOrEmpty(p3))
                        {
                            p = new SqlParameter("P3", p3);
                            comm.Parameters.Add(p);
                        }

                        return comm.ExecuteNonQuery().ToString();
                    }
                    catch (Exception)
                    {
                        return "-";
                    }
                }
            }
        } 

 

 

Ben Kimim ?

Celiker BahceciMerhabalar, ben Çeliker BAHÇECİ. 2004 den beri özel sektörde bilgisayar mühendisligi ve egitmenlik yapıyorum. Yine aynı yılın Ekim ayından beri sitemde .Net ile programlama ve hayat görüşüm ile ilgili makalelerimi yayınlıyorum. Blogum dışında Yazgelistir.com, mobilnedir.com gibi ineta kapsamındaki bir çok siteye Microsoft teknolojileri ile ilgili yazılar yazmaktayım.
Bu site ile sizinde hayatınızı anlamlandırmanızda bir parça katkımın olması dilegiyle...


Arşiv