eitaa logo
پروژه ASP.Net Core MVC (وب و سی شارپ)
119 دنبال‌کننده
168 عکس
38 ویدیو
376 فایل
❁﷽❁ آموزش 📖 برنامه نویسی ASP.Net Core MVC (وب و سی شارپ) Admin: @alialirezapanahi برنامه نویسی برنامه نویسی سی شارپ eitaa.com/sisharpapp برنامه نویسی وب eitaa.com/aspdatnet ویراستی virasty.com/alialirezapanahi آپارات aparat.com/alialirezapanahi
مشاهده در ایتا
دانلود
بیایید هر یک از این موارد را به تفصیل بررسی کنیم: 1. using کلمه کلیدی using در سی‌شارپ برای دو منظور استفاده می‌شود: - اضافه کردن فضای نام (Namespace): using System; using System.Data.SqlClient; این دستورها به شما اجازه می‌دهند تا از کلاس‌ها و متدهای موجود در این فضاهای نام بدون نیاز به نوشتن کامل نام آن‌ها استفاده کنید. - مدیریت منابع: using (SqlConnection connection = new SqlConnection(connectionString)) { // کد شما } این نوع using به شما کمک می‌کند تا منابعی مانند اتصالات دیتابیس به صورت خودکار پس از استفاده آزاد شوند. این کار باعث بهبود مدیریت حافظه و جلوگیری از نشت منابع می‌شود. 2. SqlConnection کلاس SqlConnection برای ایجاد و مدیریت اتصال به دیتابیس SQL Server استفاده می‌شود. برای استفاده از آن، باید یک شیء از این کلاس ایجاد کنید و رشته اتصال (connection string) را به آن بدهید. مثال: string connectionString = "Server=your_server_name;Database=MyDatabase;Trusted_Connection=True;"; using (SqlConnection connection = new SqlConnection(connectionString)) { connection.Open(); // کد شما } در اینجا، connectionString شامل اطلاعات لازم برای اتصال به دیتابیس است و connection.Open() اتصال را باز می‌کند. 3. SqlCommand کلاس SqlCommand برای اجرای دستورات SQL در دیتابیس استفاده می‌شود. این دستورات می‌توانند شامل SELECT, INSERT, UPDATE, و DELETE باشند. مثال: string query = "INSERT INTO Persons (FirstName, LastName) VALUES (@FirstName, @LastName)"; using (SqlCommand command = new SqlCommand(query, connection)) { // کد شما } در اینجا، query شامل دستور SQL است و command شیء SqlCommand است که این دستور را اجرا می‌کند. 4. command.Parameters.AddWithValue این متد برای اضافه کردن پارامترها به دستور SQL استفاده می‌شود. پارامترها به جلوگیری از حملات SQL Injection کمک می‌کنند و کد را خواناتر می‌کنند. مثال: command.Parameters.AddWithValue("@FirstName", firstName); command.Parameters.AddWithValue("@LastName", lastName); در اینجا، @FirstName و @LastName پارامترهای دستور SQL هستند و firstName و lastName مقادیری هستند که از کاربر دریافت شده‌اند. خلاصه - using: برای اضافه کردن فضای نام و مدیریت منابع. - SqlConnection: برای ایجاد و مدیریت اتصال به دیتابیس. - SqlCommand: برای اجرای دستورات SQL. - command.Parameters.AddWithValue: برای اضافه کردن پارامترها به دستور SQL.
Trusted_Connection=True در رشته اتصال (Connection String) به این معناست که از احراز هویت ویندوز (Windows Authentication) برای اتصال به SQL Server استفاده می‌شود. به جای استفاده از نام کاربری و رمز عبور مشخص، اتصال با استفاده از اعتبارنامه‌های ویندوزی که کاربر فعلی سیستم دارد، انجام می‌شود. مزایای استفاده از Trusted_Connection=True:- امنیت بیشتر: نیازی به ذخیره نام کاربری و رمز عبور در کد نیست، که این امر امنیت را افزایش می‌دهد. - مدیریت ساده‌تر: مدیریت کاربران و دسترسی‌ها از طریق Active Directory انجام می‌شود. - یکپارچگی با سیستم عامل: کاربران به طور خودکار با استفاده از اعتبارنامه‌های ویندوزی خود احراز هویت می‌شوند. مثال:فرض کنید شما یک رشته اتصال به این شکل دارید: string connectionString = "Server=your_server_name;Database=MyDatabase;Trusted_Connection=True;"; در اینجا، Trusted_Connection=True به SQL Server می‌گوید که از اعتبارنامه‌های ویندوزی برای احراز هویت استفاده کند. مقایسه با احراز هویت SQL Server:در مقابل، اگر از احراز هویت SQL Server استفاده کنید، رشته اتصال شما ممکن است به این شکل باشد: string connectionString = "Server=your_server_name;Database=MyDatabase;User Id=myUsername;Password=myPassword;"; در این حالت، شما باید نام کاربری و رمز عبور را به صورت صریح در رشته اتصال وارد کنید. نتیجه‌گیری:استفاده از Trusted_Connection=True برای بسیاری از برنامه‌ها به دلیل امنیت و سادگی مدیریت، توصیه می‌شود.
برای ذخیره، نمایش، بروزرسانی و حذف نام و فامیل در یک دیتابیس SQL Server با استفاده از سی‌شارپ و کنسول، می‌توانید از مراحل زیر پیروی کنید: 1. ایجاد دیتابیس و جدول در SQL Serverابتدا باید یک دیتابیس و یک جدول برای ذخیره اطلاعات ایجاد کنید. به عنوان مثال، می‌توانید از کد زیر برای ایجاد یک دیتابیس و جدول استفاده کنید: CREATE DATABASE SampleDB; GO USE SampleDB; GO CREATE TABLE People ( Id INT PRIMARY KEY IDENTITY(1,1), FirstName NVARCHAR(50), LastName NVARCHAR(50) ); GO 2. ایجاد پروژه کنسول در سی‌شارپیک پروژه کنسول جدید در ویژوال استودیو ایجاد کنید. 3. اضافه کردن کتابخانه‌های مورد نیازباید کتابخانه‌های System.Data.SqlClient را به پروژه اضافه کنید. این کار را می‌توانید از طریق NuGet Package Manager انجام دهید. 4. کد برای اتصال به دیتابیس و انجام عملیات CRUDدر اینجا نمونه کدی برای انجام عملیات ذخیره، نمایش، بروزرسانی و حذف آورده شده است: using System; using System.Data.SqlClient; class Program { static string connectionString = "Server=your_server_name;Database=SampleDB;Trusted_Connection=True;"; static void Main(string[] args) { InsertPerson("Ali", "Rezaei"); DisplayPeople(); UpdatePerson(1, "Mohammad", "Rezaei"); DisplayPeople(); DeletePerson(1); DisplayPeople(); } static void InsertPerson(string firstName, string lastName) { using (SqlConnection connection = new SqlConnection(connectionString)) { connection.Open(); string query = "INSERT INTO People (FirstName, LastName) VALUES (@FirstName, @LastName)"; using (SqlCommand command = new SqlCommand(query, connection)) { command.Parameters.AddWithValue("@FirstName", firstName); command.Parameters.AddWithValue("@LastName", lastName); command.ExecuteNonQuery(); } } } static void DisplayPeople() { using (SqlConnection connection = new SqlConnection(connectionString)) { connection.Open(); string query = "SELECT * FROM People"; using (SqlCommand command = new SqlCommand(query, connection)) { using (SqlDataReader reader = command.ExecuteReader()) { while (reader.Read()) { Console.WriteLine($"Id: {reader["Id"]}, FirstName: {reader["FirstName"]}, LastName: {reader["LastName"]}"); } } } } } static void UpdatePerson(int id, string firstName, string lastName) { using (SqlConnection connection = new SqlConnection(connectionString)) { connection.Open(); string query = "UPDATE People SET FirstName = @FirstName, LastName = @LastName WHERE Id = @Id"; using (SqlCommand command = new SqlCommand(query, connection)) { command.Parameters.AddWithValue("@Id", id); command.Parameters.AddWithValue("@FirstName", firstName); command.Parameters.AddWithValue("@LastName", lastName); command.ExecuteNonQuery(); } } } static void DeletePerson(int id) { using (SqlConnection connection = new SqlConnection(connectionString)) { connection.Open(); string query = "DELETE FROM People WHERE Id = @Id"; using (SqlCommand command = new SqlCommand(query, connection)) { command.Parameters.AddWithValue("@Id", id); command.ExecuteNonQuery(); } } } } توضیحات:- اتصال به دیتابیس: با استفاده از SqlConnection به دیتابیس متصل می‌شویم. - درج اطلاعات: با استفاده از INSERT INTO اطلاعات جدید را به جدول اضافه می‌کنیم. - نمایش اطلاعات: با استفاده از SELECT اطلاعات موجود در جدول را واکشی و نمایش می‌دهیم. - بروزرسانی اطلاعات: با استفاده از UPDATE اطلاعات موجود را بروزرسانی می‌کنیم. - حذف اطلاعات: با استفاده از DELETE اطلاعات مورد نظر را از جدول حذف می‌کنیم.
برای دریافت نام و فامیل از کاربر و ذخیره آن‌ها در دیتابیس SQL Server با استفاده از سی‌شارپ و کنسول، می‌توانید از مراحل زیر پیروی کنید: 1. ایجاد دیتابیس و جدول در SQL Serverابتدا باید یک دیتابیس و یک جدول برای ذخیره اطلاعات ایجاد کنید. به عنوان مثال، می‌توانید از کد زیر برای ایجاد یک دیتابیس و جدول استفاده کنید: CREATE DATABASE SampleDB; GO USE SampleDB; GO CREATE TABLE People ( Id INT PRIMARY KEY IDENTITY(1,1), FirstName NVARCHAR(50), LastName NVARCHAR(50) ); GO 2. ایجاد پروژه کنسول در سی‌شارپیک پروژه کنسول جدید در ویژوال استودیو ایجاد کنید. 3. اضافه کردن کتابخانه‌های مورد نیازباید کتابخانه‌های System.Data.SqlClient را به پروژه اضافه کنید. این کار را می‌توانید از طریق NuGet Package Manager انجام دهید. 4. کد برای اتصال به دیتابیس و انجام عملیات CRUDدر اینجا نمونه کدی برای انجام عملیات دریافت، ذخیره، نمایش، بروزرسانی و حذف آورده شده است: using System; using System.Data.SqlClient; class Program { static string connectionString = "Server=your_server_name;Database=SampleDB;Trusted_Connection=True;"; static void Main(string[] args) { while (true) { Console.WriteLine("Choose an option:"); Console.WriteLine("1. Insert Person"); Console.WriteLine("2. Display People"); Console.WriteLine("3. Update Person"); Console.WriteLine("4. Delete Person"); Console.WriteLine("5. Exit"); var choice = Console.ReadLine(); switch (choice) { case "1": Console.Write("Enter First Name: "); var firstName = Console.ReadLine(); Console.Write("Enter Last Name: "); var lastName = Console.ReadLine(); InsertPerson(firstName, lastName); break; case "2": DisplayPeople(); break; case "3": Console.Write("Enter ID of the person to update: "); var idToUpdate = int.Parse(Console.ReadLine()); Console.Write("Enter new First Name: "); var newFirstName = Console.ReadLine(); Console.Write("Enter new Last Name: "); var newLastName = Console.ReadLine(); UpdatePerson(idToUpdate, newFirstName, newLastName); break; case "4": Console.Write("Enter ID of the person to delete: "); var idToDelete = int.Parse(Console.ReadLine()); DeletePerson(idToDelete); break; case "5": return; default: Console.WriteLine("Invalid choice. Please try again."); break; } } } static void InsertPerson(string firstName, string lastName) { using (SqlConnection connection = new SqlConnection(connectionString)) { connection.Open(); string query = "INSERT INTO People (FirstName, LastName) VALUES (@FirstName, @LastName)"; using (SqlCommand command = new SqlCommand(query, connection)) { command.Parameters.AddWithValue("@FirstName", firstName); command.Parameters.AddWithValue("@LastName", lastName); command.ExecuteNonQuery(); } } }
static void DisplayPeople() { using (SqlConnection connection = new SqlConnection(connectionString)) { connection.Open(); string query = "SELECT * FROM People"; using (SqlCommand command = new SqlCommand(query, connection)) { using (SqlDataReader reader = command.ExecuteReader()) { while (reader.Read()) { Console.WriteLine($"Id: {reader["Id"]}, FirstName: {reader["FirstName"]}, LastName: {reader["LastName"]}"); } } } } } static void UpdatePerson(int id, string firstName, string lastName) { using (SqlConnection connection = new SqlConnection(connectionString)) { connection.Open(); string query = "UPDATE People SET FirstName = @FirstName, LastName = @LastName WHERE Id = @Id"; using (SqlCommand command = new SqlCommand(query, connection)) { command.Parameters.AddWithValue("@Id", id); command.Parameters.AddWithValue("@FirstName", firstName); command.Parameters.AddWithValue("@LastName", lastName); command.ExecuteNonQuery(); } } } static void DeletePerson(int id) { using (SqlConnection connection = new SqlConnection(connectionString)) { connection.Open(); string query = "DELETE FROM People WHERE Id = @Id"; using (SqlCommand command = new SqlCommand(query, connection)) { command.Parameters.AddWithValue("@Id", id); command.ExecuteNonQuery(); } } } } توضیحات:- اتصال به دیتابیس: با استفاده از SqlConnection به دیتابیس متصل می‌شویم. - درج اطلاعات: با استفاده از INSERT INTO اطلاعات جدید را به جدول اضافه می‌کنیم. - نمایش اطلاعات: با استفاده از SELECT اطلاعات موجود در جدول را واکشی و نمایش می‌دهیم. - بروزرسانی اطلاعات: با استفاده از UPDATE اطلاعات موجود را بروزرسانی می‌کنیم. - حذف اطلاعات: با استفاده از DELETE اطلاعات مورد نظر را از جدول حذف می‌کنیم.
پروژه ASP.Net Core MVC (وب و سی شارپ)
بیایید هر یک از این موارد را به تفصیل بررسی کنیم: 1. using کلمه کلیدی using در سی‌شارپ برای دو منظور
command.ExecuteNonQuery یک متد در کلاس SqlCommand است که برای اجرای دستورات SQL که داده‌ای را برنمی‌گردانند، مانند INSERT, UPDATE, DELETE و یا دستورات DDL (مانند CREATE TABLE یا ALTER TABLE) استفاده می‌شود. این متد تعداد ردیف‌های تحت تأثیر قرار گرفته توسط دستور SQL را به عنوان یک عدد صحیح (integer) برمی‌گرداند. مثال:فرض کنید می‌خواهید یک رکورد جدید به جدول Persons اضافه کنید: string query = "INSERT INTO Persons (FirstName, LastName) VALUES (@FirstName, @LastName)"; using (SqlCommand command = new SqlCommand(query, connection)) { command.Parameters.AddWithValue("@FirstName", firstName); command.Parameters.AddWithValue("@LastName", lastName); int result = command.ExecuteNonQuery(); if (result > 0) { Console.WriteLine("Data inserted successfully."); } else { Console.WriteLine("Error inserting data."); } } توضیحات:- اجرای دستور: command.ExecuteNonQuery() دستور SQL را اجرا می‌کند. - برگرداندن تعداد ردیف‌های تحت تأثیر: این متد تعداد ردیف‌هایی که تحت تأثیر قرار گرفته‌اند را برمی‌گرداند. برای مثال، اگر یک رکورد جدید اضافه شود، مقدار برگشتی 1 خواهد بود. - مدیریت خطاها: می‌توانید از مقدار برگشتی برای بررسی موفقیت یا شکست عملیات استفاده کنید. کاربردها:- دستورات INSERT: برای اضافه کردن رکوردهای جدید. - دستورات UPDATE: برای به‌روزرسانی رکوردهای موجود. - دستورات DELETE: برای حذف رکوردها. - دستورات DDL: برای ایجاد یا تغییر ساختار جداول و دیتابیس‌ها.
1.2M حجم رسانه بالاست
مشاهده در ایتا
در سی‌شارپ، ویندوز فرم‌ها (Windows Forms) یکی از روش‌های محبوب برای ساخت برنامه‌های کاربردی با رابط کاربری گرافیکی (GUI) هستند. آیا به کمک خاصی نیاز دارید یا می‌خواهید یک پروژه جدید را شروع کنید؟ برای شروع یک پروژه ساده ویندوز فرم، می‌توانید مراحل زیر را دنبال کنید: - ایجاد پروژه جدید: - ویژوال استودیو را باز کنید. - از منوی "File" گزینه "New" و سپس "Project" را انتخاب کنید. - در پنجره باز شده، "Windows Forms App (.NET Framework)" را انتخاب کنید و نام پروژه را وارد کنید. - طراحی فرم: - پس از ایجاد پروژه، یک فرم خالی به شما نمایش داده می‌شود. - از جعبه ابزار (Toolbox) می‌توانید کنترل‌های مختلف مانند دکمه‌ها، برچسب‌ها و جعبه‌های متنی را به فرم اضافه کنید. - نوشتن کد: - روی کنترل‌های اضافه شده به فرم دوبار کلیک کنید تا به بخش کد مربوط به آن کنترل هدایت شوید. - می‌توانید رویدادهای مختلف مانند کلیک دکمه را مدیریت کنید. به عنوان مثال: private void button1_Click(object sender, EventArgs e) { MessageBox.Show("Hello, World!"); } - اجرای برنامه: - با فشردن کلید F5 یا کلیک روی دکمه "Start" در ویژوال استودیو، برنامه خود را اجرا کنید.
تفاوت دات نت فرمورک و دانت در ویندوز فرم دات نت (.NET) یک پلتفرم جامع برای توسعه نرم‌افزار است که توسط مایکروسافت ارائه شده است. این پلتفرم شامل زبان‌های برنامه‌نویسی، فریمورک‌ها، ابزارها و کتابخانه‌هایی است که به توسعه‌دهندگان کمک می‌کنند برنامه‌های متنوعی بسازند. اجزای اصلی دات نت 1- CLR (Common Language Runtime): این جزو اصلی دات نت است که وظیفه اجرای کد، مدیریت حافظه، امنیت و مدیریت نخ‌ها (Threads) را بر عهده دارد. 2- FCL (Framework Class Library): مجموعه‌ای از کتابخانه‌های کد که شامل کلاس‌ها و توابعی برای تعامل با پایگاه داده، دسترسی به سیستم فایل، شبکه و توسعه رابط کاربری گرافیکی (GUI) است. تفاوت دات نت فرمورک و دات نت 1- پلتفرم‌های پشتیبانی شده: - .NET Framework: تنها برای سیستم‌عامل ویندوز طراحی شده است. - .NET (قبلاً .NET Core): یک پروژه متن‌باز است که بر روی پلتفرم‌های مختلفی مانند ویندوز، لینوکس و macOS قابل اجرا است. 2- کتابخانه‌ها و ابزارها: - .NET Framework: شامل مجموعه‌ای از کتابخانه‌ها و ابزارهای استاندارد برای توسعه برنامه‌های ویندوزی است. - .NET: علاوه بر کتابخانه‌های استاندارد، از ابزارها و کتابخانه‌های جدیدتری بهره می‌برد که برای توسعه برنامه‌های چندپلتفرمی مناسب هستند. 3- عملکرد و بهینه‌سازی: - .NET Framework: بهینه‌سازی‌های خاصی برای ویندوز دارد. - .NET: بهینه‌سازی‌های بیشتری دارد و عملکرد بهتری در پلتفرم‌های مختلف ارائه می‌دهد. 4- مدل‌های برنامه‌نویسی: - .NET Framework: بیشتر برای برنامه‌های ویندوزی مانند WPF و WinForms استفاده می‌شود. - .NET: علاوه بر برنامه‌های ویندوزی، برای توسعه برنامه‌های وب (مانند ASP.NET), برنامه‌های موبایل (مانند Xamarin) و برنامه‌های سرویس و پس‌زمینه (مانند Web API و Worker Services) نیز استفاده می‌شود.
ويندوز فرم.pdf
حجم: 240.6K
در سی‌شارپ و ویندوز فرم، هر فرم و کنترل دارای مجموعه‌ای از خصوصیات (Properties) است که می‌توانند برای تنظیم و شخصی‌سازی ظاهر و رفتار آن‌ها استفاده شوند. این خصوصیات در پنجره Properties در محیط ویژوال استودیو قابل مشاهده و ویرایش هستند. در ادامه به برخی از مهم‌ترین خصوصیات فرم‌ها در ویندوز فرم اشاره می‌کنم: - Name: نام فرم که به عنوان مرجع در کدنویسی استفاده می‌شود. - Text: متنی که در نوار عنوان (Caption Bar) فرم نمایش داده می‌شود. - Size: اندازه فرم را مشخص می‌کند. - Location: مختصات فرم را در صفحه نمایش تعیین می‌کند. - BackColor: رنگ پس‌زمینه فرم را تنظیم می‌کند. - FormBorderStyle: نوع حاشیه فرم را مشخص می‌کند (مثلاً FixedSingle، Sizable). - StartPosition: محل نمایش اولیه فرم را تعیین می‌کند (مثلاً CenterScreen). - Icon: آیکون فرم را مشخص می‌کند که در نوار عنوان نمایش داده می‌شود. - MaximizeBox: تعیین می‌کند که دکمه بزرگ‌نمایی (Maximize) نمایش داده شود یا خیر. - MinimizeBox: تعیین می‌کند که دکمه کوچک‌نمایی (Minimize) نمایش داده شود یا خیر. - ControlBox: تعیین می‌کند که جعبه کنترل (Control Box) که شامل دکمه‌های بستن، کوچک‌نمایی و بزرگ‌نمایی است، نمایش داده شود یا خیر. این خصوصیات به شما امکان می‌دهند تا فرم‌های خود را به دلخواه تنظیم و شخصی‌سازی کنید.
جعبه ابزار.pdf
حجم: 1.5M
در سی شارپ و ویندوز فرم، جعبه ابزار (Toolbox) شامل مجموعه‌ای از کنترل‌ها و ابزارهایی است که برای طراحی رابط کاربری استفاده می‌شوند. برخی از مهم‌ترین کنترل‌های موجود در جعبه ابزار عبارتند از: - Label: برای نمایش متن ثابت. - TextBox: برای ورود و نمایش متن توسط کاربر. - Button: برای اجرای دستورات با کلیک کاربر. - CheckBox: برای انتخاب یا عدم انتخاب گزینه‌ها. - RadioButton: برای انتخاب یک گزینه از میان چند گزینه. - ListBox: برای نمایش لیستی از آیتم‌ها. - ComboBox: ترکیبی از TextBox و ListBox. - MenuStrip: برای ایجاد منوهای کشویی. - ToolStrip: برای ایجاد نوار ابزار. - StatusStrip: برای نمایش وضعیت برنامه در پایین فرم. - DataGridView: برای نمایش و ویرایش داده‌ها در قالب جدول. - PictureBox: برای نمایش تصاویر. - Timer: برای اجرای دستورات در فواصل زمانی مشخص. این کنترل‌ها به شما کمک می‌کنند تا رابط کاربری برنامه‌های ویندوزی خود را به راحتی طراحی و پیاده‌سازی کنید.