10 Eylül 2024 Salı

Mssql de bir tablodaki verileri aynı alanlara sahip başka bir tabloya aktarma

Eğer tüm sütunlar aynıysa ve sırayla aynı sütunları aktarıyorsanız, sütun adlarını belirtmeden daha kısa bir şekilde de yazabilirsiniz:

INSERT INTO Personel_Yedek

SELECT * FROM Personel

Eğer bu sorgudan sonra aşağıdaki gibi bir hata alabilirsiniz

An explicit value for the identity column in table 'AcademicUnitTypes' can only be specified when a column list is used and IDENTITY_INSERT is ON.

Bu hata, IDENTITY özelliğine sahip bir sütuna doğrudan değer eklemeye çalıştığınızda meydana gelir. IDENTITY sütunları, otomatik olarak artan bir sayısal değer üretir ve genellikle bu sütunlara manuel olarak değer eklenmez. 

Ancak, bazı durumlarda, bu tür bir sütuna manuel olarak değer eklemek isteyebilirsiniz (örneğin, bir tablodaki tüm verileri başka bir tabloya taşımanız gerektiğinde). 

Bunu yapabilmek için IDENTITY_INSERT özelliğini geçici olarak ON duruma getirmeniz gerekir.

SET IDENTITY_INSERT AcademicUnitTypes ON;

INSERT INTO AcademicUnitTypes (ID, Column1, Column2, ...)
SELECT  *
FROM AnotherTable;

SET IDENTITY_INSERT AcademicUnitTypes OFF;

22 Mart 2023 Çarşamba

Bootstrap iconlarını kullanma

 Bootstrap iconlarını kullanabilmek için head arasına aşağıdaki css eklenmesi gerek

<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap-icons@1.10.3/font/bootstrap-icons.css">

Daha sonra https://icons.getbootstrap.com/ linkinden gerekli iconlar alınıp kullanılarbilir.




4 Mart 2023 Cumartesi

Asp.Net Core MVC

 Veri Taşıma Yöntemleri

  1. ViewBag
  2. ViewData
  3. TempData
  4. ViewModel
Layout Sayfaları Oluşturmak

Partialview-1

PartialView-2

DbContext sınıfının oluşturulması

Code-First Migration

Model/Form Validation

ViewModel

AutoMapper

Model/Form Validation Remote

Partial View Model Binding

View Component

Tag Helper Nedir ?

Routing Yapısı

Filter Nedir ?

File Upload 

Appsettings.json

Ajax Nedir ?


Entity Framework için paket

EntityFrameworkCore

Migration için aşağıdaki paketin yüklenmesi gerek

Microsoft.EntityFrameworkCore.Tools 

Program.cs dosyasında servis olarak UseSqlServer kullanabilmek için aşağıdaki paketin yüklenmesi gerek 

Microsoft.EntityFrameworkCore.SqlServer

AutoMapper:Model ile ViewModel arası dönüşüm için

AutoMapper.Extensions.Microsoft.DependencyInjection kurulduktan sonra

Program.cs içerisine builder.Services.AddAutoMapper(Assembly.GetExecutingAssembly()); eklenmeli


1 Mart 2023 Çarşamba

web.config şifreleme ve şifre çözümü

Komut satırını(cmd) yönetici modunda açıyoruz. 

cd komutu ile C:\Windows\Microsoft.NET\Framework\v2.0.50727 klasörüne geçiş yapıyoruz.

Daha sonra şifrelemek için aşağıdaki komutu giriyoruz.

aspnet_regiis.exe -pef "şifrelenecek alan"  Web.config dosyasının bulunduğu yol -prov "DataProtectionConfigurationProvider"

Şifreyi çözmek için

aspnet_regiis.exe -pdf "şifresi çözülecek alan"  Web.config dosyasının bulunduğu yol

16 Şubat 2023 Perşembe

ASP.NET Çerçevelerini Anlama

 ASP.NET Web Forms, tanıdık sürükle ve bırak, olay odaklı modeli kullanarak dinamik web siteleri oluşturmanıza olanak tanır. Tasarım yüzeyi ve yüzlerce denetim ve bileşen, veri erişimiyle hızlı bir şekilde gelişmiş, güçlü UI tabanlı siteler oluşturmanıza olanak sağlar. Wingtip Oyuncak Mağazası ASP.NET Web Forms dayanmaktadır, ancak bu öğretici serisinde öğrendiğiniz kavramların çoğu tüm ASP.NET için geçerlidir.

ASP.NET dört birincil geliştirme çerçevesi sunar:

  • ASP.NET Web Forms
    Web Forms çerçevesi, Microsoft Windows Forms (WinForms) ve WPF/XAML/Silverlight gibi bildirim temelli ve denetim tabanlı programlamayı tercih eden geliştiricileri hedefler. WYSIWYG tasarımcı temelli geliştirme modeli sunar, bu nedenle web geliştirme için hızlı bir uygulama geliştirme (RAD) ortamı arayan geliştiriciler arasında popülerdir. Web programlamada yeniyseniz ve geleneksel Microsoft RAD istemci geliştirme araçlarını (örneğin, Visual Basic ve Visual C# için) biliyorsanız, HTML ve JavaScript deneyimi yaşamadan hızla bir web uygulaması oluşturabilirsiniz.
  • ASP.NET MVC
    ASP.NET MVC, test temelli geliştirme, endişelerin ayrılması, denetimin ters çevrilmesi (IoC) ve bağımlılık ekleme (DI) gibi desen ve ilkelerle ilgilenen geliştiricileri hedefler. Bu çerçeve, bir web uygulamasının iş mantığı katmanını sunu katmanından ayırmayı teşvik eder.
  • ASP.NET Web Sayfaları
    ASP.NET Web Sayfaları, PHP satırlarında basit bir web geliştirme hikayesi isteyen geliştiricileri hedefler. Web Sayfaları modelinde, işaretlemenin nasıl işleneceğini dinamik olarak denetlemek için HTML sayfaları oluşturur ve sonra sayfaya sunucu tabanlı kod eklersiniz. Web Sayfaları özellikle basit bir çerçeve olacak şekilde tasarlanmıştır ve HTML bilen ancak geniş bir programlama deneyimine sahip olmayabilecek kişiler (örneğin, öğrenciler veya hobiler) için ASP.NET en kolay giriş noktasıdır. PHP veya benzer çerçeveleri bilen web geliştiricilerinin ASP.NET kullanmaya başlaması için de iyi bir yoldur.
  • Tek Sayfalı Uygulamayı ASP.NET
    ASP.NET Tek Sayfalı Uygulama (SPA), HTML 5, CSS 3 ve JavaScript kullanarak önemli istemci tarafı etkileşimleri içeren uygulamalar oluşturmanıza yardımcı olur. ASP.NET and Web Tools 2012.2 Güncelleştirmesi, knockout.js ve ASP.NET Web API'sini kullanarak tek sayfalı uygulamalar oluşturmaya yönelik yeni bir şablon gönderir. Yeni SPA şablonuna ek olarak, topluluk tarafından oluşturulan yeni SPA şablonları da indirilebilir.

Dört ana geliştirme çerçevesine ek olarak, ASP.NET ayrıca dikkat edilmesi ve bilgi sahibi olması önemli olan ancak bu öğretici serisinde ele alınmayan ek teknolojiler de sunar:

  • ASP.NET Web API'si - Tarayıcılar ve mobil cihazlar da dahil olmak üzere çok çeşitli istemcilere ulaşan HTTP hizmetleri oluşturmaya yönelik bir çerçevedir.
  • ASP.NET SignalR - Gerçek zamanlı web işlevselliği geliştirmeyi kolaylaştıran bir kitaplıktır.

15 Şubat 2023 Çarşamba

ASP.NET'te satır içi kod kullanma

 Aşağıdaki sözdizimini kullanarak ASP.NET (.aspx) sayfalarında satır içi kod kullanabilirsiniz. 

Sunucu tarafı kodu, sayfa sunucuda ilk kez istendiğinde .NET çerçevesi tarafından otomatik olarak derlenecektir.

 Derlenen .dll dosyası "Geçici ASP.NET Dosyaları" sistem klasöründe saklanır. .aspx dosyalarındaki kodun değiştirilmesi yeni bir derlemeyi tetikleyerek yeni .dll dosyaları oluşturur. 

Eski .dll dosyaları, çerçeve tarafından aşamalı olarak kaldırılır ve sonunda silinir.



//Aşağıdaki kod siteye bağlanan kullanıcısı sayısını footer kısmında göstermektedir.

//C# KODLARIMIZ

<%@ Control Language="C#" AutoEventWireup="true"  %>

<script runat="server">

 protected void Page_Load(object sender, EventArgs e)

        {

            if ( !IsPostBack )

            {

                online.InnerText = Application["kullaniciSayisi"].ToString();

            }

        }

</script>

Mssql de bir tablodaki verileri aynı alanlara sahip başka bir tabloya aktarma

Eğer tüm sütunlar aynıysa ve sırayla aynı sütunları aktarıyorsanız, sütun adlarını belirtmeden daha kısa bir şekilde de yazabilirsiniz: INSE...