Bu kodlar, MVC 5 projesinde bir Controller (Denetleyici) ve Model (Model) oluşturarak, SQL Server veritabanına bir kayıt eklemek için bir HTTP Post işlemi yönetir. Controller, HTTP Post isteğini alır, gerekli doğrulamaları yapar ve ardından Model üzerinden gelen verileri kullanarak SQL Server'daki bir stored procedure çağrısını gerçekleştirir. Model, gelen verilerin doğruluğunu sağlamak için gerekli doğrulama özelliklerini içerir. Stored procedure, veritabanına yeni bir personel kaydı ekler. Bu kodları kullanarak, MVC 5 projesinde basit bir veritabanı işlemi gerçekleştirebilirsiniz.
SQL Server Stored Procedure:
CREATE PROCEDURE sp_InsertPersonel
@Adı NVARCHAR(50),
@Soyadı NVARCHAR(50),
@Departman NVARCHAR(50),
@Pozisyon NVARCHAR(50)
AS
BEGIN
SET NOCOUNT ON;
INSERT INTO Personel (Adı, Soyadı, Departman, Pozisyon)
VALUES (@Adı, @Soyadı, @Departman, @Pozisyon);
END
Bu stored procedure, Personel
tablosuna yeni bir kayıt eklemek için kullanılabilir. Şimdi MVC 5 projesindeki Controller ve Model kısımlarını yazalım.
MVC 5 Controller:
using System.Web.Mvc;
using System.Data.SqlClient;
namespace YourNamespace.Controllers
{
public class PersonelController : Controller
{
// GET: Personel
public ActionResult Index()
{
return View();
}
[HttpPost]
public ActionResult Create(PersonelModel personel)
{
if (ModelState.IsValid)
{
// Veritabanına bağlantı dizesi
string connectionString = "your_connection_string_here";
// Stored procedure çağrısını yap
using (SqlConnection connection = new SqlConnection(connectionString))
{
connection.Open();
SqlCommand command = new SqlCommand("sp_InsertPersonel", connection);
command.CommandType = System.Data.CommandType.StoredProcedure;
// Parametreleri ekle
command.Parameters.AddWithValue("@Adı", personel.Adı);
command.Parameters.AddWithValue("@Soyadı", personel.Soyadı);
command.Parameters.AddWithValue("@Departman", personel.Departman);
command.Parameters.AddWithValue("@Pozisyon", personel.Pozisyon);
// Komutu çalıştır
command.ExecuteNonQuery();
}
return RedirectToAction("Index");
}
return View(personel);
}
}
}
Personel Modeli:
using System.ComponentModel.DataAnnotations;
namespace YourNamespace.Models
{
public class PersonelModel
{
[Required(ErrorMessage = "Ad alanı gereklidir.")]
public string Adı { get; set; }
[Required(ErrorMessage = "Soyad alanı gereklidir.")]
public string Soyadı { get; set; }
[Required(ErrorMessage = "Departman alanı gereklidir.")]
public string Departman { get; set; }
[Required(ErrorMessage = "Pozisyon alanı gereklidir.")]
public string Pozisyon { get; set; }
}
}
Bu kod parçaları, MVC 5 projesinde bir Controller ve Model oluşturarak HTTP Post işlemlerini yönetir. Veritabanına bağlanmak için bir bağlantı dizesi eklemeniz ve uygun şekilde güncellemeniz gerekecektir.