Merhabalar, herkese iyi forumlar.
Şahin Boydaş bir söyleşisinde şöyle söylemiştir; Ülkemizde en yaygın kullanılan programlar otomasyonlardır.
Nedir Bu Otomasyonlar?
Otomasyonlar yönetim sistemleridir. Örnekler üzerinde açıklayacak olursak eğer, bir eczanenin doposunda bulunan ilaçları, sattığı ilaçları takip ettiği listelediği raporladığı sistemler birer otomasyondur. Süpermarketlerin dopalını takip ettiği, günlük satışlarının verilerini tuttuğu sistemler birer otomasyon örnekleridir. Bu sistemlere en iyi örnek ERP adıyla bilinen, diğer adıyla ise "Kurumsal Kaynak Planlaması" sistemleridir.
ERP sistemlerinin resimlerini telif hakkından kaçınmak için buraya örnek olarak koymuyorum. Google üzerinde "ERP programları" araması yaparak örnek programlara ulaşabilirsiniz.
Ne Yapacağız?
Otomasyonlardan bahsettikten sonra, hem C# ile tanışmak isteyenler, hem C# öğrenmeye çalışanlara alıştırma niteliğinde bu konuyu elimden geldiğince yüzeysel bir şekilde açıklayacağım.
- MSSQL üzerinde ihtiyacımız olan veri tabanını oluşturacağız.
- Bu veri tabanının içerisinde bir tablo oluşturacağız.
- Bu tabloda Insert, Update ve Delete işlemlerimiz için Procedure'ler yazacağız.
- Bu procedure'lerimizin daha performanslı çalışmasını sağlayacağız.
- İkinci partımızda bu veri tabanına yazdığımız procedureler yardımıyla Ekleme Silme Ve Güncelleme işlemleri yapacağız.
Veri Tabanımızı Hazırlayalım
Ben personel kayıt otomasyonu hazırlayacağım. Bu otomasyonda Kişinin Adı, Soyadı, Telefon Numarası ve Resmini ByteArray tipinde kayıt edeceğim.
Sql Server Management Studıo'yu açtıktan sonra Crtl + N tuşları ile New Query sayfası açıyorum. Ardından sorgularımı yazmaya başlıyorum.
Öncelikle bir veri tabanı oluşturmalıyım. Sonra yazacağım sorguların hangi veri tabanında kullanılacağını belirtmek olacak bunun işlem sırasını belirtmek aralarına "GO" komutunu kullancağım.
Kod:
CREATE DATABASE Employees
GO
USE Employees
GO
Not: "USE databaseName" şeklinde bir sorgu yazıp çalıştırmak, geçerli Query Editor sayfasında kullanmak istediğim veri tabanını belirtmek için kullanılır.
Verileri kayıt edeceğim veri tabanını oluşturduktan sonra sırada kayıt edeceğim tabloyu oluşturmak var. Sadece resim alanımın boş geçilebilmesini istiyorum. Bu yüzden boş geçilmesini istemediğim alanların sonuna ""NOT NULL" ifadesi ekliyorum.
Kod:
CREATE TABLE Employee (
Id INT IDENTITY,
FirstName VARCHAR(50) NOT NULL,
LastSurname VARCHAR(50) NOT NULL,
Phone VARCHAR(50) NOT NULL,
Picture IMAGE NULL
)
GO
Buraya kadar yazdığımız kodların görünütü şu şekilde olacaktır;
Bir veri tabanı oluşturduk istediğimiz kolonlara sahip bir veri tablo da oluşturduk. Sıra geldi bunun üzerinde işlemlerimizi daha rahat yapabilmek için Procedure'lerimizi yazmaya.
- Listeleme
- Kayıt
- Güncelleme
- Silme
İşlerim için birer procedure oluşturacağım.
Procedure nasıl yazılır? Nasıl daha performanslı çalışır? Anlatımlarımın bulunduğu konuya buradan ulaşabilirsiniz.
Şimdi sırası ile Procedure'lerimizi hazırlayalım. Select işlemimiz için;
Kod:
CREATE PROC SP_Select
AS
BEGIN
SELECT * FROM Employee
END
Kayıt işlemimiz için Insert Proc'u yazalım. Bu procedure Id alanım dışındakı her alana kayıt atacağı için 4 adet parametre alır.
Kod:
CREATE PROC SP_Insert(
[USER=54181]first[/USER]Name VARCHAR(50),
[USER=78513]Last[/USER]Surname VARCHAR(50),
[USER=359876]phone[/USER] VARCHAR(50),
[USER=268065]***[/USER]ture IMAGE
)
AS
BEGIN
INSERT INTO Employee VALUES [USER=54181]first[/USER]Name [USER=78513]Last[/USER]Surname [USER=359876]phone[/USER] [USER=268065]***[/USER]ture)
--Employee tablosuna parametrelerde gönderdiğim değerleri ekle
END
Go
Delete Proc;
Kod:
CREATE PROC SP_Delete
@Id INT
AS
BEGIN
DELETE FROM Employee WHERE Id = @Id
--Employee tablosundan Id değerini parametre içerisinden gönderdiğim kayıtı sil
END
GO
Update Proc;
Kod:
CREATE PROC SP_Update(
@Id INT,
[USER=54181]first[/USER]Name VARCHAR(50),
[USER=78513]Last[/USER]Surname VARCHAR(50),
[USER=359876]phone[/USER] VARCHAR(50),
[USER=268065]***[/USER]ture IMAGE
)
AS
BEGIN
UPDATE Employee
--Employee tablosunu güncelle
SET FirstName [USER=54181]first[/USER]Name,LastSurname [USER=78513]Last[/USER]Surname,Phone [USER=359876]phone[/USER],Picture [USER=268065]***[/USER]ture
--parametrelerimde gönderdiğim değerler ile
WHERE Id=@Id
--Id'sini parametre olarak bildirdiğim kayıtı
END
Procedure'lerimizin görüntüsü resimde görüldüğü şekildedir.
Temel şekilde kayıtlarımızı gireceğimiz tablomuzu ve Procedurelerimizi hazırladık. Bir sonraki partta görüşmek üzere.
İyi Forumlar.
Bu yazının ikinci partına buradan ulaşabilirsiniz.
Son düzenleme: