BAĞLANTILARIM

Takip Edin:

0

C# İki saat arasındaki süreyi hesaplama

Çarşamba, Aralık 09, 2015 / / ,

string girisZamani = "10:48";
string cikisZamani = "17:30";
TimeSpan girisCikisFarki = DateTime.Parse(cikisZamani).Subtract(DateTime.Parse(girisZamani));
string calismaSuresi = girisCikisFarki.ToString();

0

İki farklı adresteki Sql Serverdan ortak sorgulama yapmak

Cumartesi, Ağustos 15, 2015 / /

Bunun için LinkedServer yöntemi kullanılabilir.

Microsoft SQL Management Studio'da Server Objects başlığının altında Linked Servers seçeneğine sağ click yapılıp New Linked Servers ile aşağıdaki tanımlama penceresine ulaşılır.



Linked Server yazan yer sorgulamalarda kullanılacak isim
Provider: SQL Server için Microsoft OLE DB Provider for SQL Server
Product Name: SQL
Data Source: Bağlanacağımız Sql sunucunun adı veya IP adresi
Catalog: Üzerinde çalışacağımız veritabanı



Security bölümünde;

Be made using this security context seçilip

Sql sunucu kullanıcı bilgileri girilir.


Server Options bölümünde;

örnekteki alanları true olarak ayarladıktan sonra OK diyerek Linked Server tanımlama işlemini bitirmiş oluyoruz.

Artık aşağıdaki şekilde sorgularda kullanılabilir.

SELECT * FROM ETICARET_DB.dbo.SOZLESME SOZLESME,LOGOSERVER.LKSDB.dbo.LG_073_CLCARD CLCARD
WHERE SOZLESME.CariId=CLCARD.LOGICALREF

ETICARET isimli veritabanımızın üzerindeki SOZLESME isimli tablo
Linked Server olarak tanımlamış olduğumuz LOGOSERVER isimli sunucumuzun LKSDB isimli veritabanının üzerindeki LG_073_CLCARD isimli tablo


Aynı Sql sunucu üzerinde iki farklı veritabanından ortak sorgulama yapmak için

0

Aynı Sql sunucu üzerinde iki farklı veritabanından ortak sorgulama yapmak

Cumartesi, Ağustos 15, 2015 / /

Aşağıdaki şekilde veritabanı isimleri belirtilerek kullanılabilir.

SELECT * FROM ETICARET_DB.dbo.SOZLESME SOZLESME,LKSDB.dbo.LG_073_CLCARD CLCARD
WHERE SOZLESME.CariId=CLCARD.LOGICALREF

ETICARET isimli veritabanımızın üzerindeki SOZLESME isimli tablo
LKSDB isimli veritabanının üzerindeki LG_073_CLCARD isimli tablo


İki farklı adresteki Sql Serverdan ortak sorgulama yapmak için

0

DataTable üzerinde istenilen sütunlarda toplama yapma

Çarşamba, Temmuz 22, 2015 / / , ,


DataTable üzerinde istenilen herhangi bir sütun Compute kullanılarak aşağıdaki şekilde toplanabilir.

object toplamFiyat;
toplamFiyat = dtSiparisTablo.Compute("SUM(Fiyat)", "");



Not : DataTable'daki Fiyat alanının veri tipi sayısal olmalıdır.

0

TextBox'a sadece sayı ve virgül girilsin

Salı, Temmuz 21, 2015 / / ,

Windows Form uygulamalarında TextBox kontrolüne sadece sayı ve virgül girilmesini sağlamak için ilgili TextBox kontrolünün KeyPress olayına
aşağıdaki kod eklenir.

e.Handled = !char.IsDigit(e.KeyChar) && !char.IsControl(e.KeyChar) && e.KeyChar != ',';

0

ASP.NET SAYFA ADRESİNİ ALMA VE METİN İÇİNDE AYNI KARAKTERDEN KAÇ ADET OLDUĞUNU BULMA

Pazar, Haziran 14, 2015 / / , ,

string sayfaAdresi = HttpContext.Current.Request.Url.AbsoluteUri.ToString();
int slashSayisi = Regex.Matches(sayfaAdresi, "/").Count;

0

C#'ta itextSharp ile Html'yi Pdf'ye dönüştürme

Çarşamba, Mayıs 13, 2015 / / ,

Örnekte PDF'i MemoryStream ile hafızada oluşturduktan sonra mail yoluyla gönderdik.
Türkçe karakterleri sorunsuz şekilde oluşturdu.


StringBuilder sb = new StringBuilder();
sb.Append("<table>");
sb.Append("<tr><td><b>Merhaba Türkçe, ÇçĞğİıÖöŞşÜü</b></td></tr>");
sb.Append("</table>");
       
            Document pdfDokuman = new Document(PageSize.A4, 10f, 10f, 10f, 0f);
            using (MemoryStream memoryStream = new MemoryStream())
            {
                PdfWriter pdfWriter = PdfWriter.GetInstance(pdfDokuman, memoryStream);
                pdfDokuman.Open();
                StyleSheet stil = new StyleSheet();
                FontFactory.Register("C:\\Windows\\Fonts\\Arial.ttf", "ArialFont");
                stil.LoadTagStyle("body", "face", "ArialFont");
                stil.LoadTagStyle("body", "encoding", "Identity-H");
                stil.LoadTagStyle("body", "size", "8pt");
             
                using (var stringIcerik = new StringReader(sb.ToString()))
                {
                    using (var htmlWorker = new HTMLWorker(pdfDokuman, null, stil))
                    {
                        htmlWorker.Parse(stringIcerik);
                    }
                }
                pdfDokuman.Close();
                byte[] dokuman = memoryStream.ToArray();//oluşan ve gönderilecek doküman
                memoryStream.Close();
                //MailGonder.GmailUzerinden("Mail Başlık", "İçerik", dokuman, gonderilecekEpostaAdresi);
            }

0

Asp.net iç içe Repeater veya iç içe ListView kullanımı

Cuma, Nisan 17, 2015 / / , ,



İç içe listeleme işlemlerinde aşağıdaki yöntem kullanılabilir. Örnekte dıştaki ListView kontrolünde odalar ve odalara ait genel bilgiler listelenirken; içte kullanılan Repeater kontolünde ise oda tipine göre odaların özellikleri dolduruldu.(Balkon, Bahçe, Havuz vs..) 

Aynı işlem Repeater içinde Repeater veya ListView içinde ListView olarak da kullanılabilir.


Tasarım tarafı: kontrollerin yerleşimi

<table class="tabloRezervasyon">
                    <tr>
                        <th style="width: 30%;">Oda</th>
                        <th style="width: 10%; text-align:center;">Maks. Kişi</th>
                        <th style="width: 25%;">Bilgi</th>
                        <th style="width: 15%; text-align:center;">Fiyat</th>
                        <th style="width: 20%;">Rezervasyon</th>
                    </tr>
                    <asp:ListView ID="lvListe" runat="server" OnItemDataBound="lvListe_ItemDataBound">
                        <ItemTemplate>
                            <tr>
                                <td><a href="RezervasyonOdaDetay.aspx?odaTipId=<%#Eval("OdaTipId") %>" class="various" data-fancybox-type="iframe"><%#Eval("Fotograf").ToString()!=String.Empty ? "<img src=\"images/oda/" + Eval("Fotograf") + "\" alt=\"\" class=\"odaFoto\" />" : "<i class=\"fa fa-4x fa-camera odaFotoYok\"></i>" %></a>
                                  <a href="RezervasyonOdaDetay.aspx?odaTipId=<%#Eval("OdaTipId") %>" class="turuncu17 various" data-fancybox-type="iframe"><%#Eval("OdaAd") %></a>
                                    <br />
                                    <br />
                                    <asp:Repeater ID="repeatOzellik" runat="server">
                    <HeaderTemplate><ul class="listeOzellik"></HeaderTemplate>
                    <ItemTemplate>
                        <li><i class="fa fa-circle"></i><span class="siyah14"><%#Eval("OzellikAd") %></span></li>
                    </ItemTemplate>
                    <FooterTemplate></ul></FooterTemplate>
                </asp:Repeater>
                                </td>
                                <td style="text-align:center;"><%#Eval("KisiKapasite") %> Kişi</td>
                                <td><%#Eval("KisaBilgi").ToString().Length>130 ? ""+Eval("KisaBilgi").ToString().Substring(0,130)+"..." : ""+Eval("KisaBilgi")+"" %></td>
                                <td style="text-align:center;"><span class="turuncu17"><%#Eval("Fiyat") %> <%#Eval("ParaTipi") %></span></td>
                                <td>
                                    <asp:LinkButton ID="btnRezervasyonYap" runat="server" CssClass="buton turuncu">Rezervasyon Yap</asp:LinkButton></td>
                            </tr>
                        </ItemTemplate>
                    </asp:ListView>
                </table>



Kod tarafı:


Dıştaki kontrol normal şekilde doldurulur.
İçteki Repeater ise dıştaki kontrolün ItemDataBound olayında aşağıdaki şekilde doldurulur.


        protected void lvListe_ItemDataBound(object sender, ListViewItemEventArgs e)
        {
            try
            {
                odaTipId = DataBinder.Eval(e.Item.DataItem, "OdaTipId").ToString(); //Dıştaki kontrolden OdaTipId isimli alanın değerini aldık.
                VeriMsSQL.Islem islem = new VeriMsSQL.Islem();
                DataTable dt = islem.OzellikOdaListe(odaTipId);
                if (dt.Rows.Count > 0)
                {
                    Repeater repeatOdaOzellik = e.Item.FindControl("repeatOzellik") as Repeater;
                    repeatOdaOzellik.DataSource = dt;
                    repeatOdaOzellik.DataBind();

                }
                dt.Dispose();
            }
            catch (Exception)
            {
            }
        }

0

C# ve Asp.net para formatlama

Çarşamba, Mart 18, 2015 / / ,

Virgüllü sayısal ifadelerde virgülden sonra iki basamak gösterir


Asp.net Eval ile kullanımı

<%#Eval("BORC","{0:0.##}") %>


Kod tarafı kullanımı

double borc = 0.150000000000008;
lblToplamBorc.Text = String.Format("{0:0.##}", borc);



Farklı kullanımlar:

double fiyat = 1308.3449183999999;
fiyat.ToString("0.00");
fiyat.ToString("C", CultureInfo.CurrentCulture);
fiyat.ToString("C",CultureInfo.GetCultureInfo("tr-TR"));
fiyat.ToString("N2"); 

0

DataTable'dan Excel'e Aktarım.

Salı, Mart 17, 2015 / / ,


C# Excel'e aktarım aşağıdaki şekilde kullanılabilir. Türkçe karakterler sorunsuz olarak aktarılmaktadır.

DataTable dt = //veri kaynağı
                if (dt.Rows.Count > 0)
                {
                    DataView dv = new DataView(dt);
                    this.EnableViewState = false;
                    Response.Clear();
                    Response.Charset = "utf-8";
                    Response.ContentType = "application/vnd.ms-excel";
                    Response.AddHeader("Content-Disposition", "inline;filename=talep_rapor.xls");
                    Response.ContentEncoding = System.Text.Encoding.UTF8;
                    Response.BinaryWrite(System.Text.Encoding.UTF8.GetPreamble());
                 
                    StringBuilder sbIcerik = new StringBuilder();
                    sbIcerik.Append("<table>" +
                    "<tr>" +
                    "<td>Talep No</td>" +
                    "<td>Açılış Tarihi</td>" +
                    "<td>Kullanıcı</td>" +
                    "<td>Başlık</td>" +
                    "<td>Toplam Süre / dk.</td>" +
                    "<td>Toplam Ücret / TL</td>" +
                    "</tr>"
                    );
                    foreach (DataRowView icerikSatir in dv)
                    {
                        sbIcerik.Append("<tr>");
                        sbIcerik.Append("<td>" + icerikSatir["TalepId"].ToString() + "</td>");
                        sbIcerik.Append("<td>" + icerikSatir["AcilisZamani"].ToString() + "</td>");
                        sbIcerik.Append("<td>" + icerikSatir["KullaniciAd"].ToString() + "</td>");
                        sbIcerik.Append("<td>" + icerikSatir["Baslik"].ToString() + "</td>");
                        sbIcerik.Append("<td>" + icerikSatir["ToplamSure"].ToString() + "</td>");
                        sbIcerik.Append("<td>" + icerikSatir["ToplamUcret"].ToString() + "</td>");
                        sbIcerik.Append("</tr>");
                    }
                    sbIcerik.Append("</table>");
                    Response.Write(sbIcerik);
                    Response.End();
                    Response.Flush();
                }
                dt.Dispose();

SON YORUMLAR