using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Data.SqlClient;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.IO;
namespace Nemune
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
string RowId = "0";//متغیر ردیف برای سلکت کردن دیتا گرید
//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@@@
//تعریف یک تابع با نام نیو برای خالی کردن تکست ها و فیل کردن گرید ویو
private void New()
{
TxtName.Text = TxtLName.Text = "";//خالی کردن تکست باکس ها
//فارسی کردن ستون های دیتا گریدو رفرش کردن بعد از اعمال عملیات
con.View("SELECT ID[ردیف],FName[نام],LName[نام خانوادگی] FROM dbo.TBL_Test ORDER BY ID OFFSET 0 ROWS FETCH FIRST 5 ROWS ONLY", dataGridView);
}
//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@@@
//################################################## #############
/*####*/ private void BtnConfig_Click(object sender, EventArgs e)
/*####*/ {
/*####*/ //بازکردن فرم تنظیمات
/*####*/ FrmConnectionSettings FrmConnectionSettings = new FrmConnectionSettings();
/*####*/ FrmConnectionSettings.ShowDialog();
/*####*/ }
//################################################## #############
//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@@@
//اتصال کانکشن از کلاس
private ConnectionClass con = new ConnectionClass();
//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@@@
//################################################## #############
/*####*/ private void Form1_Load(object sender, EventArgs e)
/*####*/ {
/*####*/ //لود آیتم های تیبل در کومبو باکس
/*####*/ con.Load_Combo("Select COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS where table_name ='TBL_Test'", comboBoxSearch);
/*####*/ //لود دیتا بیس در گرید ویو
/*####*/ //con.View("select ID[ردیف],FName[نام],LName[نام خانوادگی] from TBL_Test", dataGridView);
/*####*/ //con.View("SELECT * FROM TBL_Test ORDER BY ID OFFSET 0 ROWS FETCH FIRST 5 ROWS ONLY", dataGridView);
/*####*/ con.View("SELECT ID[ردیف],FName[نام],LName[نام خانوادگی] FROM dbo.TBL_Test ORDER BY ID OFFSET 0 ROWS FETCH FIRST 1 ROWS ONLY", dataGridView);
/*####*/ }
//################################################## #############
//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@@@
private void BtnFirstPage_Click(object sender, EventArgs e)
{
//رفتن به صفحه اول
TxtGoToPage.Text = "0";
MessageBox.Show("شما به اولین صفحه منتقل شدید");
con.View("SELECT ID[ردیف],FName[نام],LName[نام خانوادگی] FROM dbo.TBL_Test ORDER BY ID OFFSET " + TxtGoToPage.Text + " ROWS FETCH FIRST 1 ROWS ONLY", dataGridView);
}
//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@@@
//################################################## #############
/*####*/ private void BtnPreviousPage_Click(object sender, EventArgs e)
/*####*/ {
/*####*/ //چک کردن خالی نبودن تکست باکس
/*####*/ if (TxtGoToPage.Text.Trim() == string.Empty)
/*####*/ {
/*####*/ TxtGoToPage.Text = "0";
/*####*/ MessageBox.Show("لطفا یک مقدار وارد کنید");
/*####*/ }
/*####*/ //رفتن به صفحه قبل
/*####*/ int PreviousPage = 1;
/*####*/ TxtGoToPage.Text = (Int32.Parse(TxtGoToPage.Text) - PreviousPage).ToString();
/*####*/ if (Int32.Parse(TxtGoToPage.Text) < 0)
/*####*/ {
/*####*/ TxtGoToPage.Text = "0";
/*####*/ MessageBox.Show("شما در اولین صفحه می باشید");
/*####*/ }
/*####*/ con.View("SELECT ID[ردیف],FName[نام],LName[نام خانوادگی] FROM dbo.TBL_Test ORDER BY ID OFFSET " + TxtGoToPage.Text + " ROWS FETCH FIRST 1 ROWS ONLY", dataGridView);
/*####*/ }
//################################################## #############
//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@@@
//رفتن به صفحه بعد
private void BtnNextPage_Click(object sender, EventArgs e)
{
//چک کردن خالی نبودن تکست باکس
if (TxtGoToPage.Text.Trim() == string.Empty)
{
TxtGoToPage.Text = "0";
MessageBox.Show("لطفا یک مقدار وارد کنید");
}
int NextPage = 1;
TxtGoToPage.Text = (Int32.Parse(TxtGoToPage.Text) + NextPage).ToString();
con.View("SELECT ID[ردیف],FName[نام],LName[نام خانوادگی] FROM dbo.TBL_Test ORDER BY ID OFFSET " + TxtGoToPage.Text + " ROWS FETCH FIRST 1 ROWS ONLY", dataGridView);
}
//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@@@
//################################################## #############
/*####*/ //رفتن به صفحه آخر
/*####*/ private void BtnLastPage_Click(object sender, EventArgs e)
/*####*/ {
/*####*/ con.View("select ID[ردیف],FName[نام],LName[نام خانوادگی] FROM dbo.TBL_Test where ID not in (select top((select COUNT(*)FROM dbo.TBL_Test)-1)ID from dbo.TBL_Test)", dataGridView);
/*####*/ MessageBox.Show("شما به آخرین صفحه منتقل شدید");
/*####*/ //شمارش تعداد صفحات دیتابیس
/*####*/ //"select COUNT(*)from TBL_Test";
/*####*/ string stmt = "select COUNT(*)from TBL_Test";
/*####*/ int counter = 0;
/*####*/ //باز کردن فایل متنی حاوی اطلاعات تنظیمات دیتابیس
/*####*/ using (StreamReader sw2 = File.OpenText("Connection\\maysam1.txt"))
/*####*/ {
/*####*/ //فراخوانی سطر اول فایل متنی برای آدرس سرور
/*####*/ using (SqlConnection sqlConnection1 = new SqlConnection(sw2.ReadLine()))
/*####*/ {
/*####*/ using (SqlCommand cmdCount = new SqlCommand(stmt, sqlConnection1))
/*####*/ {
/*####*/ sqlConnection1.Open();
/*####*/ counter = (int)cmdCount.ExecuteScalar();
/*####*/ }
/*####*/ }
/*####*/ int Pagenomber = Convert.ToInt32(counter) / 1;
/*####*/ TxtGoToPage.Text = Pagenomber.ToString();
/*####*/ }
/*####*/ }
//################################################## #############
//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@@@
private void BtnGoToPage_Click(object sender, EventArgs e)
{
//چک کردن خالی نبودن تکست باکس
if (TxtGoToPage.Text.Trim() == string.Empty)
{
TxtGoToPage.Text = "0";
MessageBox.Show("لطفا یک مقدار وارد کنید");
}
//چک کردن کوچکتر از 0 بودن تکست باکس
if (Int32.Parse(TxtGoToPage.Text) < 0)
{
TxtGoToPage.Text = "0";
MessageBox.Show("عدد وارد شده برای صفحه درست نمی باشد");
}
con.View("SELECT ID[ردیف],FName[نام],LName[نام خانوادگی] FROM dbo.TBL_Test ORDER BY ID OFFSET " + TxtGoToPage.Text + " ROWS FETCH FIRST 1 ROWS ONLY", dataGridView);
}
//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@@@
//################################################## #############
/*####*/ //محدودیت وارد کردن فقط عدد در تکست باکس
/*####*/ private void TxtGoToPage_KeyPress(object sender, KeyPressEventArgs e)
/*####*/ {
/*####*/ e.Handled = !char.IsDigit(e.KeyChar) && !char.IsControl(e.KeyChar);
/*####*/ }
//################################################## #############
//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@@@
//ثبت در دیتا بیس
private void BtnSave_Click(object sender, EventArgs e)
{
con.ExecuteNonQuery("insert into TBL_Test values(N'" + TxtName.Text + "',N'" + TxtLName.Text + "')", 1);
New();
}
//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@@@
//################################################## #############
/*####*/ // ویرایش اطلاعات ثبت شده
/*####*/ private void BtnEdit_Click(object sender, EventArgs e)
/*####*/ {
/*####*/ //ویرایش دیتاگرید
/*####*/ if (RowId != "0")
/*####*/ {
/*####*/ if (MessageBox.Show("آیا رکورد انتخاب شده ویرایش گردد؟", "ویراش", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
/*####*/ {
/*####*/ //ویرایش همه دیتا بصورت یکجا
/*####*/ //con.ExecuteNonQuery("update TBL_Test set FName = N'" + TxtName.Text + "',LName = N'" + TxtLName.Text + "'", 1);
/*####*/ //ویرایش دیتا بصورت خط به خط
/*####*/ con.ExecuteNonQuery("update TBL_Test set FName = N'" + TxtName.Text + "',LName = N'" + TxtLName.Text + "'where ID='" + RowId + "'", 1);
/*####*/ RowId = "0";
/*####*/ New();
/*####*/ TxtName.Focus();//موس برود به تکست اول
/*####*/ }
/*####*/ }
/*####*/ }
//################################################## #############
//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@@@
private void BtnDelete_Click(object sender, EventArgs e)
{
//حذف
if (RowId != "0")
{
if (MessageBox.Show("آیا رکورد انتخاب شده حذف گردد؟", "حذف", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
{
con.ExecuteNonQuery("delete TBL_Test where ID='" + RowId + "'", 1);
RowId = "0";
New();
TxtName.Focus();//موس برود به تکست اول
}
}
}
//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@@@
//################################################## #############
/*####*/ //جستجو در دیتا بیس
/*####*/ private void BtnSearch_Click(object sender, EventArgs e)
/*####*/ {
/*####*/ con.View("SELECT ID[ردیف],FName[نام],LName[نام خانوادگی] FROM TBL_Test where " + comboBoxSearch.Text + " like N'%" + TxtSearch.Text + "%' ", dataGridView);
/*####*/ }
//################################################## #############
//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@@@
private void dataGridView_CellClick(object sender, DataGridViewCellEventArgs e)
{
if (dataGridView.Rows.Count > 0) //اتصال دیتا گرید به دیتا بیس و سلکت کردن در دیتا گرید
{
RowId = dataGridView.Rows[dataGridView.CurrentRow.Index].Cells[0].Value.ToString();
TxtName.Text = dataGridView.Rows[dataGridView.CurrentRow.Index].Cells[1].Value.ToString();
TxtLName.Text = dataGridView.Rows[dataGridView.CurrentRow.Index].Cells[2].Value.ToString();
}
}
//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@@@
}
}