برای ذخیره، نمایش، بروزرسانی و حذف نام و فامیل در یک دیتابیس 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:
برای اجرای دستورات در فواصل زمانی مشخص.
این کنترلها به شما کمک میکنند تا رابط کاربری برنامههای ویندوزی خود را به راحتی طراحی و پیادهسازی کنید.
برای ساخت یک ماشین حساب ساده در سی شارپ با استفاده از Windows Forms و کنترلهای NumericUpDown و RadioButton، میتوانید مراحل زیر را دنبال کنید:
- ایجاد پروژه جدید:
- در ویژوال استودیو، یک پروژه جدید از نوع Windows Forms Application ایجاد کنید.
- طراحی رابط کاربری:
- دو کنترل NumericUpDown برای ورودی اعداد اضافه کنید.
- چهار RadioButton برای عملیات جمع، تفریق، ضرب و تقسیم اضافه کنید.
- یک دکمه برای نمایش نتیجه اضافه کنید.
- ایجاد اینترفیس:
public interface ICalculator
{
decimal Add(decimal number1, decimal number2);
decimal Subtract(decimal number1, decimal number2);
decimal Multiply(decimal number1, decimal bnumber2);
decimal Divide(decimal number1, decimal number2);
}
- پیادهسازی کلاس Calculator:
public class Calculator : ICalculator
{public decimal Add(decimal number1, decimal number2) => number1 + number2;
public decimal Divide(decimal number1, decimal number2)
{
if (number2 == 0)
throw new DivideByZeroException("نمی توان بر صفر تقسیم کرد");
return number1 / number2;
}
public decimal Multiply(decimal number1, decimal bnumber2) => number1 * bnumber2;
public decimal Subtract(decimal number1, decimal number2) => number1 - number2;
}
- اتصال رویدادها به دکمهها:
- در فرم اصلی، یک نمونه از کلاس Calculator ایجاد کنید و رویداد کلیک دکمهها را به متدهای مربوطه متصل کنید.
public partial class Form1 : Form
{
Calculator calculator;
public Form1()
{
InitializeComponent();
calculator = new Calculator();
}
private void btnCalculate_Click(object sender, EventArgs e)
{
decimal num1 = txtNumber1.Value;
decimal num2 = txtNumber2.Value;
decimal result = 0;
if (radioButtonAdd.Checked)
result = calculator.Add(num1, num2);
else if (radioButtonSubtract.Checked)
result = calculator.Subtract(num1, num2);
else if (radioButtonMultiply.Checked)
result = calculator.Multiply(num1, num2);
else if (radioButtonDivide.Checked)
{
try
{
result = calculator.Divide(num1, num2);
}
catch (DivideByZeroException ex)
{
MessageBox.Show(ex.Message);
return;
}
}
MessageBox.Show($"جواب = {result}");
}
}
این مراحل به شما کمک میکند تا یک ماشین حساب ساده با استفاده از سی شارپ و Windows Forms ایجاد کنید.