# برنامه نویسی با محصولات مایکروسافت > برنامه نویسی مبتنی بر Microsoft .Net Framework > C#‎‎ > آموزش: آموزش برنامه نویسی پایگاه داده به همراه مثالهای کاربردی

## Arash_janusV3

تصمیم دارم با حمایت و همکاری شما دوستان 
تاپیکی مخصوص ارتباط با پایگاه داده و بانک اطلاعاتی ایجاد کنم و در آن مثالهایی از قبیل ارتباط ، ایجاد رکورد ، حذف رکورد ، ویرایش رکورد ، ارتباط کنترلها با دیتابیس و ... را مطرح کنم
مثالها مربوط به دیتابیس Sql یا Access می باشد
سعی بر این است مثالهای کاملا کاربردی ارائه شود
و همچنین این تاپیک به طور مدام به روز رسانی می کنم
از شما تقاضا دارم در این تاپیک  *پست نزنید(اعم از سوال،نمونه کد و ...  )* تا این تاپیک مسیر مشخصی داشته باشد

در صورتی که در خصوص هر آنچه که در این تاپیک مطرح شده سوالی دارید می توانید آن را در* تاپیک* *سوالهای مربوط به تاپیک آموزش برنامه نویسی پایگاه داده به همراه مثالهای کاربردی* مطرح کنید
لازم به ذکر است تاپیک های*آموزش برنامه نویسی پایگاه داده به همراه مثالهای کاربردی*   و *سوالهای مربوط به تاپیک آموزش برنامه نویسی پایگاه داده به همراه مثالهای کاربردی* با یکدیگر مرتبط هستند و در صورت لزوم چکیده مطالب مطرح شده در *سوالهای مربوط به تاپیک آموزش برنامه نویسی پایگاه داده به همراه مثالهای کاربردی*  را در *آموزش برنامه نویسی پایگاه داده به همراه مثالهای کاربردی*  قرار خواهم داد و از همه دوستان خواهشمندم در صورتی که به ناهماهنگی و یا  عدم به روز رسانی در این دو تاپیک ها مشاهده کردند به صورت پیام خصوصی  اطلاع بدهند 

درخصوص نکته های برنامه نویسی که شامل بحث این تاپیک نمی باشد و حاوی نکاتی ظریف در برنامه نویسی می باشد می توانید به تاپیک *نکته های سی شارپ ...* مراجعه کنید و در صورتی که در خصوص هر آنچه که در تاپیک *نکته های سی شارپ ...* مطرح شده سوالی دارید می توانید آن را در* تاپیک* *سوالهای مربوط به نکته های سی شارپ ...* مطرح کنید

با سپاس فراوان از همکاری شما

----------


## Arash_janusV3

1_موارد مورد نیاز برای شروع
2_ارتباط با دیتابیس در sql
3_دسترسی به خصوصیات Connection 
4_دیتابیس در زمان اجرا به دیتابیس دیگر متصل شود
5_درج رکورد با دستور INSERT در SQL با استفاده از دستور BeginTransaction
6_انجام دادن چندین عملیات INSERT در SQL به طور همزمان با استفاده از دستور BeginTransaction
7_به دست آوردن تعداد رکورد موجود در جدول
8_دسترسی به اطلاعات موجود در جدول با استفاده از SqlDataReader
9_درج یک رکورد با استفاده از DataRow
10_خواندن تمامی رکوردهای موجود در جدول Acc_Group با استفاده از DataReader
11_ثبت تغییرات در جدول با استفاده از DataReader 
12_نمابش اطلاعات یک جدول با استفاده از DataGrid
13_استفاده از فایل کناری برای ارتباط با دیتابیس
14_جستجوی اطلاعات یک جدول بر اساس فیلد کلید شده
15_انتقال اطلاعات یک جدول به یک فایل xml
16_انتقال اطلاعات یک جدول به یک فایل xml با استفاده از xmlDocument
17_نمایش اطلاعات در گرید DtatGrid
18_نمایش اطلاعات در ListBox در Acceass
19_اعمال تغییرات یک رکورد در جدول
20_حذف یک رکورد
 
*دانلود فایل* *آموزش برنامه نویسی پایگاه داده به همراه مثالهای کاربردی تا به اینجا**

*21_ثبت تغییرات در dataGridView
22_طراحی یک فرم Master - Detail بر اساس دو جدول Acc_Group و Acc_Koll
 23_نمایش اطلاعات در DataGrid  و جستجو بر اساس یک ستون
24_درج یک رکورد در دیتابیس Access
25_درج رکورد با استفاده از Stored Procedure 
26_فیلتر کردن جدول از طریق Stored Procedure
27_جستجوی جدول از طریق Stored Procedure بر اساس یک مقدار ورودی
28_ذخیره کردن یک تصویر
 29_نمایش تصاویر ذخیره شده در جدول
30_تعداد رکوردهای جدول در دیتابیس Access
31_نمایش اطلاعات موجود در یک ستون خاص با استفاده از comboBox در دیتابیس Access
32_نمایش اطلاعات موجود در یک ستون خاص با استفاده از comboBox در دیتابیس Sql
33_نمایش اطلاعات جدول به صورت لیست در TreeView در دیتابیس Access
34_نمایش اطلاعات یک جدول به صورت درختی در یک TreeView در دیتابیس Access
 35_برقراری ارتباط بین دو جدول بر اساس فیلد ID_Group و نمایش آن در TreeView
36_ایجاد حدول در ACCESS 2010

*تاریخ آخرین به روزرسانی: 1392/02/23*

لطفا پست نزنید  :لبخند: 
در صورتی که در خصوص هر آنچه که در این تاپیک مطرح شده سوالی دارید می توانید آن را در* تاپیک* *سوالهای مربوط به تاپیک آموزش برنامه نویسی پایگاه داده به همراه مثالهای کاربردی* مطرح کنید

مشاهده *نکته های سی شارپ ...*

----------


## Arash_janusV3

*1_موارد مورد نیاز برای شروع*

نرم افزارهای  sqlServer 2005 2008 یا Access 2007 2010
و
ابتدا دیتابیس مورد نظر را ایجاد کنید به نام SampleDB و مسیر مشخصی برای آن تعیین کنید
سپس برای ایجاد جداول طبق مراحل مطرح شده انجام دهید
جدول به نام Acc_Group ایجاد کنید
namefield---------DataType-----------AllowNull----------Identity------------Key
ID_Group -----------int-------------------false---------------yes--------------yes
SalMali ---------smallint-------------------false---------------No--------------No
Code_Group ------smallint-------------------true---------------No--------------No
Name_Group -----nvarchar(50)------------true---------------No--------------No

Sql Server 2005 :
Group.jpg

Access 2010 :
Group1.jpg

جدول به نام Acc_Koll ایجاد کنید
namefield---------DataType-----------AllowNull----------Identity------------Key
ID_Koll -----------int-------------------false---------------yes--------------yes
ID_Group -----------int-------------------false---------------No--------------No
SalMali ---------smallint-------------------false---------------No--------------No
Code_Koll ------smallint-------------------true---------------No--------------No
Name_Koll -----nvarchar(50)------------true---------------No--------------No

Sql Server 2005 :
Koll.jpg

Access 2010 :
Koll1.jpg

لطفا پست نزنید  :لبخند: 
در صورتی که در خصوص هر آنچه که در این تاپیک مطرح شده سوالی دارید می توانید آن را در* تاپیک* *سوالهای مربوط به تاپیک آموزش برنامه نویسی پایگاه داده به همراه مثالهای کاربردی* مطرح کنید

مشاهده لیست
مشاهده *نکته های سی شارپ ...*

----------


## Arash_janusV3

موارد مورد نیاز برای شروع
*
2_ارتباط با دیتابیس در sql*


using System.Data.SqlClient;

 private void button1_Click(object sender, EventArgs e)
        {
string strText1 = @"Data Source = ARASH-PC\ARASH; Initial Catalog = SampleDB; User Id = sa; Password = 1;";
SqlConnection con = new SqlConnection(strText1);
            con.Open();
            // سایر دستورات
            con.Close();
        }


لطفا پست نزنید  :لبخند: 
در صورتی که در خصوص هر آنچه که در این تاپیک مطرح شده سوالی دارید می توانید آن را در* تاپیک* *سوالهای مربوط به تاپیک آموزش برنامه نویسی پایگاه داده به همراه مثالهای کاربردی* مطرح کنید

مشاهده لیست
مشاهده *نکته های سی شارپ ...*

----------


## Arash_janusV3

موارد مورد نیاز برای شروع
*
3_دسترسی به خصوصیات Connection* 


using System.Data.SqlClient;

string strConnection = @"Data Source = ARASH-PC\ARASH; Initial Catalog = SampleDB; User Id = sa; Password = 1;";

            SqlConnection con = new SqlConnection(strConnection);
            con.Open();

            string strText1 = "ConnectionString = " + con.ConnectionString.ToString() + "\r";
            strText1 = strText1 + "ConnectionTimeOut = " + con.ConnectionTimeout.ToString() + "\r";
            strText1 = strText1 + "DataBase = " + con.Database.ToString() + "\r";
            strText1 = strText1 + "DataSource = " + con.DataSource.ToString() + "\r";
            strText1 = strText1 + "PacketSize = " + con.PacketSize.ToString() + "\r";
            strText1 = strText1 + "ServerVersion = " + con.ServerVersion.ToString() + "\r";
            strText1 = strText1 + "State = " + con.State.ToString() + "\r";
            strText1 = strText1 + "WorkStationid = " + con.WorkstationId.ToString() + "\r";

            MessageBox.Show(strText1, "هشدار");
            con.Close();


لطفا پست نزنید  :لبخند: 
در صورتی که در خصوص هر آنچه که در این تاپیک مطرح شده سوالی دارید می توانید آن را در* تاپیک* *سوالهای مربوط به تاپیک آموزش برنامه نویسی پایگاه داده به همراه مثالهای کاربردی* مطرح کنید

مشاهده لیست
مشاهده *نکته های سی شارپ ...*

----------


## Arash_janusV3

موارد مورد نیاز برای شروع
*
4_دیتابیس در زمان اجرا به دیتابیس دیگر متصل شود*


  private void button2_Click(object sender, EventArgs e)
        {
            string strConnection = @"Data Source = ARASH-PC\ARASH; Initial Catalog = SampleDB; User Id = sa; Password = 1;";

            SqlConnection con = new SqlConnection(strConnection);
            con.StateChange += new StateChangeEventHandler(Form1.OnStateChange);
            con.InfoMessage += new SqlInfoMessageEventHandler(Form1.OnInfoMessage);
            con.Open();
            con.ChangeDatabase("Pubs");
            con.Close();
        }
        protected static void OnInfoMessage(object sender, SqlInfoMessageEventArgs args)
        {
            MessageBox.Show(args.Message , "هشدار");
        }
        protected static void OnStateChange(object sender, StateChangeEventArgs args)
        {
            MessageBox.Show("New Connection state " + args.CurrentState.ToString() , "هشدار");
        }


لطفا پست نزنید  :لبخند: 
در صورتی که در خصوص هر آنچه که در این تاپیک مطرح شده سوالی دارید می توانید آن را در* تاپیک* *سوالهای مربوط به تاپیک آموزش برنامه نویسی پایگاه داده به همراه مثالهای کاربردی* مطرح کنید

مشاهده لیست
مشاهده *نکته های سی شارپ ...*

----------


## Arash_janusV3

موارد مورد نیاز برای شروع
*
5_درج رکورد با دستور INSERT در SQL با استفاده از دستور BeginTransaction*

توضیح: بهتر است از دستور BeginTransaction استفاده شود چرا که با استفاده از این روش یا کل عملیات به طور کامل انجام می شود و یا اصلا انجام نمی شود


using System.Data.SqlClient;

  private void button3_Click(object sender, EventArgs e)
        {
            string strConnection = @"Data Source = ARASH-PC\ARASH; Initial Catalog = SampleDB; User Id = sa; Password = 1;";
            SqlConnection con = new SqlConnection(strConnection);
            con.Open();
            SqlCommand command = new SqlCommand("INSERT " + " INTO Acc_Group (SalMali,Code_Group,Name_Group)" + " VALUES(91,1,N'دارایی ثابت')", con);
            SqlTransaction Transaction = con.BeginTransaction();
            command.Transaction = Transaction;
            command.ExecuteNonQuery();
            command.Dispose();

            DialogResult result = MessageBox.Show("آیا رکورد درج شود؟", "سوال", MessageBoxButtons.YesNo);
            if (result == System.Windows.Forms.DialogResult.Yes)
            {
                Transaction.Commit();
                MessageBox.Show("ثبت اطلاعات با موفقیت انجام شد");
            }
            else
            {
                Transaction.Rollback();
                MessageBox.Show("اطلاعات ثبت نگردید");
            }
            con.Close();
        }


لطفا پست نزنید  :لبخند: 
در صورتی که در خصوص هر آنچه که در این تاپیک مطرح شده سوالی دارید می توانید آن را در* تاپیک* *سوالهای مربوط به تاپیک آموزش برنامه نویسی پایگاه داده به همراه مثالهای کاربردی* مطرح کنید

مشاهده لیست
مشاهده *نکته های سی شارپ ...*

----------


## Arash_janusV3

موارد مورد نیاز برای شروع

*6_انجام دادن چندین عملیات INSERT در SQL به طور همزمان با استفاده از دستور BeginTransaction

*توضیح: بهتر است از دستور BeginTransaction استفاده شود چرا که با استفاده از این روش یا کل عملیات به طور کامل انجام می شود و یا اصلا انجام نمی شود


using System.Data.SqlClient;

 private void button4_Click(object sender, EventArgs e)
        {
            string strConnection = @"Data Source = ARASH-PC\ARASH; Initial Catalog = SampleDB; User Id = sa; Password = 1;";
            SqlConnection con = new SqlConnection(strConnection);
            con.Open();
            SqlCommand command1 = new SqlCommand("INSERT " + " INTO Acc_Group (SalMali,Code_Group,Name_Group)" + " VALUES(84,60,N'دارایی ثابت')", con);
            SqlCommand command2 = new SqlCommand("INSERT " + " INTO Acc_Group (SalMali,Code_Group,Name_Group)" + " VALUES(84,80,N'دارایی جاری')", con);
            
            SqlTransaction Transaction = con.BeginTransaction();
            command1.Transaction = Transaction;
            command2.Transaction = Transaction;
            command1.ExecuteNonQuery();
            command2.ExecuteNonQuery();
            Transaction.Save("This Point");
            Transaction.Rollback("This Point");
            Transaction.Commit();
            command1.Dispose();
            command2.Dispose();
            con.Close();

        }


لطفا پست نزنید  :لبخند: 
در صورتی که در خصوص هر آنچه که در این تاپیک مطرح شده سوالی دارید می توانید آن را در* تاپیک* *سوالهای مربوط به تاپیک آموزش برنامه نویسی پایگاه داده به همراه مثالهای کاربردی* مطرح کنید

مشاهده لیست
مشاهده *نکته های سی شارپ ...*

----------


## Arash_janusV3

موارد مورد نیاز برای شروع

*7_به دست آوردن تعداد رکورد موجود در جدول*


using System.Data.SqlClient;

 private void button5_Click(object sender, EventArgs e)
        {
            string strConnection = @"Data Source = ARASH-PC\ARASH; Initial Catalog = SampleDB; User Id = sa; Password = 1;";
            SqlConnection con = new SqlConnection(strConnection);
            con.Open();
            SqlCommand command1 = new SqlCommand("Select Count(*) from Acc_Group", con);
            MessageBox.Show(command1.ExecuteScalar().ToString(  ), "تعداد رکورد ", MessageBoxButtons.OK);
            command1.Dispose();
            con.Close();
        }


لطفا پست نزنید  :لبخند: 
در صورتی که در خصوص هر آنچه که در این تاپیک مطرح شده سوالی دارید می توانید آن را در* تاپیک* *سوالهای مربوط به تاپیک آموزش برنامه نویسی پایگاه داده به همراه مثالهای کاربردی* مطرح کنید

مشاهده لیست
مشاهده *نکته های سی شارپ ...*

----------


## Arash_janusV3

موارد مورد نیاز برای شروع

*8_دسترسی به اطلاعات موجود در جدول با استفاده از SqlDataReader*


using System.Data.SqlClient;

 private void button6_Click(object sender, EventArgs e)
        {
            string strConnection = @"Data Source = ARASH-PC\ARASH; Initial Catalog = SampleDB; User Id = sa; Password = 1;";
            SqlConnection con = new SqlConnection(strConnection);

            SqlCommand command1 = new SqlCommand("Select * from Acc_Group where ID_Group = 17", con);
            con.Open();

            SqlDataReader reader1 = command1.ExecuteReader();
            textBox1.Text = "";
            if (!reader1.Read())
            {
                MessageBox.Show("اطلاعات وجود ندارد", "اطلاعات", MessageBoxButtons.OK);
            }
            else if (reader1["Name_Group"] != DBNull.Value)
            {
                textBox1.Text = reader1["Name_Group"].ToString();
            }
        }


لطفا پست نزنید  :لبخند: 
در صورتی که در خصوص هر آنچه که در این تاپیک مطرح شده سوالی دارید می توانید آن را در* تاپیک* *سوالهای مربوط به تاپیک آموزش برنامه نویسی پایگاه داده به همراه مثالهای کاربردی* مطرح کنید

مشاهده لیست
مشاهده *نکته های سی شارپ ...*

----------


## Arash_janusV3

موارد مورد نیاز برای شروع

*9_درج یک رکورد با استفاده از DataRow
* 

private void button7_Click(object sender, EventArgs e)
        {
            string strConnection = @"Data Source = ARASH-PC\ARASH; Initial Catalog = SampleDB; User Id = sa; Password = 1;";
            SqlConnection con = new SqlConnection(strConnection);
            con.Open();

            SqlDataAdapter adapter = new SqlDataAdapter("Select * from Acc_Group", con);
            DataSet ds = new DataSet();
            adapter.Fill(ds,"Group");
            DataTable dt = ds.Tables["Group"];
            DataRow dr = dt.NewRow();

            dr["SalMali"] = 1391;
            dr["Code_Group"] = 10;
            dr["Name_Group"] = "داراییها";

            dt.Rows.Add(dr);

            SqlCommandBuilder builder = new SqlCommandBuilder(adapter);
            adapter.Update(ds,"Group");
            MessageBox.Show("ثبت اطلاعات با موفقیت انجام شد");

        }


لطفا پست نزنید  :لبخند: 
در صورتی که در خصوص هر آنچه که در این تاپیک مطرح شده سوالی دارید می توانید آن را در* تاپیک* *سوالهای مربوط به تاپیک آموزش برنامه نویسی پایگاه داده به همراه مثالهای کاربردی* مطرح کنید

مشاهده لیست
مشاهده *نکته های سی شارپ ...*

----------


## Arash_janusV3

موارد مورد نیاز برای شروع

*10_خواندن تمامی رکوردهای موجود در جدول Acc_Group با استفاده از DataReader*

توضیحات :کلاس DataReader یک کلاس فقط خواندنی و رو به جلو است
کلاس DataReader یکی از کلاسهای Ado.Net است که مانند یک Recordset با خاصیت ReadOnly عمل می کند. با این مفهوم که اطلاعات آن قابل ویرایش نمی باشد


using System.Data.SqlClient;

 private void button8_Click(object sender, EventArgs e)
        {
            string strConnection = @"Data Source = ARASH-PC\ARASH; Initial Catalog = SampleDB; User Id = sa; Password = 1;";
            SqlConnection con = new SqlConnection(strConnection);
            con.Open();

            string str = "Select * from Acc_Group";
            SqlDataReader reader1 = new SqlCommand(str, con).ExecuteReader();
            while (reader1.Read())
            {
                MessageBox.Show(Convert.ToString(reader1["Code_Group"] + " " + reader1["Name_Group"]));
            }

        }


لطفا پست نزنید  :لبخند: 
در صورتی که در خصوص هر آنچه که در این تاپیک مطرح شده سوالی دارید می توانید آن را در* تاپیک* *سوالهای مربوط به تاپیک آموزش برنامه نویسی پایگاه داده به همراه مثالهای کاربردی* مطرح کنید

مشاهده لیست
مشاهده *نکته های سی شارپ ...*

----------


## Arash_janusV3

موارد مورد نیاز برای شروع
*11_ثبت تغییرات در جدول با استفاده از DataReader 

*
using System.Data.SqlClient;

 private void button9_Click(object sender, EventArgs e)
        {
            DataSet ds = new DataSet();
            string strConnection = @"Data Source = ARASH-PC\ARASH; Initial Catalog = SampleDB; User Id = sa; Password = 1;";
            SqlConnection con = new SqlConnection(strConnection);

            string strUpdate = "UPDATE Acc_Group SET Name_Group='ALI' where ID_Group = 18";
            SqlCommand command1 = new SqlCommand();
            SqlCommand command2 = command1;
            command2.CommandText = strUpdate;
            command2.CommandType = CommandType.Text;
            command2.Connection = con;
            con.Open();
            command2.ExecuteReader(CommandBehavior.CloseConnec  tion);
            command2 = null;
        }


لطفا پست نزنید  :لبخند: 
در صورتی که در خصوص هر آنچه که در این تاپیک مطرح شده سوالی دارید می توانید آن را در* تاپیک* *سوالهای مربوط به تاپیک آموزش برنامه نویسی پایگاه داده به همراه مثالهای کاربردی* مطرح کنید

مشاهده لیست
مشاهده *نکته های سی شارپ ...*

----------


## Arash_janusV3

موارد مورد نیاز برای شروع

*12_نمابش اطلاعات یک جدول با استفاده از DataGrid*


 private void button1_Click(object sender, EventArgs e)
        {
            DataSet ds = new DataSet();
            string strConnection = @"Data Source = ARASH-PC\ARASH; Initial Catalog = SampleDB; User Id = sa; Password = 1;";
            SqlConnection con = new SqlConnection(strConnection);

            string strSelect = "Select * from Acc_Group";
            new SqlDataAdapter(strSelect, @"Data Source = ARASH-PC\ARASH; Initial Catalog = SampleDB; User Id = sa; Password = 1;").Fill(ds, "Group");
            dataGridView1.DataSource = ds.Tables["Group"];
            DataGridTableStyle style1 = new DataGridTableStyle();
            style1.MappingName = "Group";
            DataGridTextBoxColumn column1 = new DataGridTextBoxColumn();
            column1.MappingName = "ID_Group";
            column1.HeaderText = "شاخص فایل پروژه";
            column1.Width = 90;
            style1.GridColumnStyles.Add(column1);
            column1 = new DataGridTextBoxColumn();

            column1.MappingName = "SalMali";
            column1.HeaderText = "سال مالی";
            column1.Width = 50;
            style1.GridColumnStyles.Add(column1);
            column1 = new DataGridTextBoxColumn();

            column1.MappingName = "Code_Group";
            column1.HeaderText = "کد گروه";
            column1.Width = 50;
            style1.GridColumnStyles.Add(column1);
            column1 = new DataGridTextBoxColumn();

            column1.MappingName = "Name_Group";
            column1.HeaderText = "شرح گروه";
            column1.Width = 150;

            column1.Alignment = HorizontalAlignment.Center;
            style1.SelectionBackColor = Color.Red;
            style1.AlternatingBackColor = Color.Thistle;
        }


لطفا پست نزنید  :لبخند: 
در صورتی که در خصوص هر آنچه که در این تاپیک مطرح شده سوالی دارید می توانید آن را در* تاپیک* *سوالهای مربوط به تاپیک آموزش برنامه نویسی پایگاه داده به همراه مثالهای کاربردی* مطرح کنید

مشاهده لیست
مشاهده *نکته های سی شارپ ...*

----------


## Arash_janusV3

موارد مورد نیاز برای شروع

*13_استفاده از فایل کناری برای ارتباط با دیتابیس*

توضیحات: یک فایل Application Configuration به پروژه خود اضافه کنید


<?xml version="1.0" encoding="utf-8" ?>
<configuration>
    <appSettings>
      <add key="Connection.Server" value="St1"/>
      <add key="Connection.DataBase" value="TestFinance"/>
      <add key="Connection.UserId" value="kmo"/>
      <add key="Connection.Password" value="10237"/>
    </appSettings>
</configuration>



using System.Xml;
using System.Configuration;

 string NameServer;
            string DbName;
            string Uid;
            string Pass;
            NameServer = ConfigurationSettings.AppSettings["Connection.Server"].ToString();
            DbName = ConfigurationSettings.AppSettings["Connection.DataBase"].ToString();
            Uid = ConfigurationSettings.AppSettings["Connection.UserId"].ToString();
            Pass = ConfigurationSettings.AppSettings["Connection.Password"].ToString();

            string[] textArray1 = new string[] { "server=", NameServer, ";User ID=", Uid, ";Password=", Pass, ";database=", DbName, ";ConnectionReset=FALSE" };
            MessageBox.Show(string.Concat(textArray1), "هشدار");


لطفا پست نزنید  :لبخند: 
در صورتی که در خصوص هر آنچه که در این تاپیک مطرح شده سوالی دارید می توانید آن را در* تاپیک* *سوالهای مربوط به تاپیک آموزش برنامه نویسی پایگاه داده به همراه مثالهای کاربردی* مطرح کنید

مشاهده لیست
مشاهده *نکته های سی شارپ ...*

----------


## Arash_janusV3

موارد مورد نیاز برای شروع

*14_جستجوی اطلاعات یک جدول بر اساس فیلد کلید شده*


using System.Data.SqlClient;

string strConnection = @"Data Source = ARASH-PC\ARASH; Initial Catalog = SampleDB; User Id = sa; Password = 1;";
            SqlConnection con = new SqlConnection(strConnection);

            SqlDataAdapter adapter1 = new SqlDataAdapter("Select * from Acc_Group", strConnection);

            DataSet ds = new DataSet();
            adapter1.FillSchema(ds, SchemaType.Mapped, "ID_Group");
            adapter1.Fill(ds, "ID_Group");
            DataRow dr = ds.Tables["ID_Group"].Rows.Find(1);

            if (dr != null)
            {
                MessageBox.Show(dr["Name_Group"].ToString());
            }
            else
            {
                MessageBox.Show("اطلاعاتی با این مشخصات وجود ندارد");
            }


لطفا پست نزنید  :لبخند: 
در صورتی که در خصوص هر آنچه که در این تاپیک مطرح شده سوالی دارید می توانید آن را در* تاپیک* *سوالهای مربوط به تاپیک آموزش برنامه نویسی پایگاه داده به همراه مثالهای کاربردی* مطرح کنید

مشاهده لیست
مشاهده *نکته های سی شارپ ...*

----------


## Arash_janusV3

موارد مورد نیاز برای شروع

*15_**انتقال اطلاعات یک جدول به یک فایل xml*


   string strConnection = @"Data Source = ARASH-PC\ARASH; Initial Catalog = SampleDB; User Id = sa; Password = 1;";
            SqlConnection con = new SqlConnection(strConnection);

            con.ConnectionString = strConnection;
            SqlDataAdapter adapter1 = new SqlDataAdapter("Select * from Acc_Group", strConnection);
            DataSet ds = new DataSet();
            adapter1.Fill(ds,"myTable");
            ds.WriteXml(@"C:\a.xml");


لطفا پست نزنید  :لبخند: 
در صورتی که در خصوص هر آنچه که در این تاپیک مطرح شده سوالی دارید می توانید آن را در* تاپیک* *سوالهای مربوط به تاپیک آموزش برنامه نویسی پایگاه داده به همراه مثالهای کاربردی* مطرح کنید

مشاهده لیست
مشاهده *نکته های سی شارپ ...*

----------


## Arash_janusV3

موارد مورد نیاز برای شروع

*16_انتقال اطلاعات یک جدول به یک فایل xml با استفاده از xmlDocument*


  string strConnection = @"Data Source = ARASH-PC\ARASH; Initial Catalog = SampleDB; User Id = sa; Password = 1;";
            SqlConnection con = new SqlConnection(strConnection);
            con.Open();

            string text1 = Convert.ToString(new SqlCommand("SELECT * from Acc_Group FOR XML AUTO", con).ExecuteScalar());
            XmlDocument document1 = new XmlDocument();
            document1.LoadXml("<data>" + text1 + "</data>");
            document1.Save(@"c:\b.xml");


لطفا پست نزنید  :لبخند: 
در صورتی که در خصوص هر آنچه که در این تاپیک مطرح شده سوالی دارید می توانید آن را در* تاپیک* *سوالهای مربوط به تاپیک آموزش برنامه نویسی پایگاه داده به همراه مثالهای کاربردی* مطرح کنید

مشاهده لیست
مشاهده *نکته های سی شارپ ...*

----------


## Arash_janusV3

موارد مورد نیاز برای شروع

*17_نمایش اطلاعات در گرید DtatGrid*


SqlConnection con1 = new SqlConnection();
            SqlCommand command1 = new SqlCommand();
            SqlDataAdapter adapter1 = new SqlDataAdapter();
            DataSet ds = new DataSet();

            con1.ConnectionString = @"Data Source = ARASH-PC\ARASH; Initial Catalog = SampleDB; User Id = sa; Password = 1;";

            command1.CommandText = "SELECT Code_Group, Name_Group FROM dbo.Acc_Group ";
            command1.Connection = con1;
            adapter1.SelectCommand = command1;

            try
            {
                con1.Open();
                adapter1.Fill(ds, "Group");
            }
            catch (Exception ex2)
            {
                Exception ex1 = ex2;
                MessageBox.Show(ex1.Message, "هشدار", MessageBoxButtons.OK);
            }
            con1.Close();
            dataGridView1.DataSource = ds.Tables["Group"];


لطفا پست نزنید  :لبخند: 
در صورتی که در خصوص هر آنچه که در این تاپیک مطرح شده سوالی دارید می توانید آن را در* تاپیک* *سوالهای مربوط به تاپیک آموزش برنامه نویسی پایگاه داده به همراه مثالهای کاربردی* مطرح کنید

مشاهده لیست
مشاهده *نکته های سی شارپ ...*

----------


## Arash_janusV3

موارد مورد نیاز برای شروع

*18_نمایش اطلاعات در ListBox در Acceass*


using System.Data.OleDb;

  OleDbConnection con1 = new OleDbConnection(@"Provider=Microsoft.Jet.OLEDB.4.0  ;Data Source=D:\mesalhaie C#‎\Data Access\SampleDB.mdb");
            OleDbCommand command1 = con1.CreateCommand();
            command1.CommandText = "SELECT Acc_Koll.Name_Koll FROM Acc_Koll;";
            con1.Open();
            OleDbDataReader reader1 = command1.ExecuteReader();
            while (reader1.Read())
            {
                listBox1.Items.Add(reader1.GetString(0));
            }
            reader1.Close();


لطفا پست نزنید  :لبخند: 
در صورتی که در خصوص هر آنچه که در این تاپیک مطرح شده سوالی دارید می توانید آن را در* تاپیک* *سوالهای مربوط به تاپیک آموزش برنامه نویسی پایگاه داده به همراه مثالهای کاربردی* مطرح کنید

مشاهده لیست
مشاهده *نکته های سی شارپ ...*

----------


## Arash_janusV3

موارد مورد نیاز برای شروع

*19_اعمال تغییرات یک رکورد در جدول*


   string strConnection = @"Data Source = ARASH-PC\ARASH; Initial Catalog = SampleDB; User Id = sa; Password = 1;";
            SqlConnection con = new SqlConnection(strConnection);
            con.Open();

            SqlDataAdapter adapter1 = new SqlDataAdapter("Select * from Acc_Group", con);
            DataSet ds = new DataSet();
            adapter1.Fill(ds, "Group");
            DataTable dt = ds.Tables["Group"];

            adapter1.FillSchema(ds, SchemaType.Source, "Group");

            //عدد 19 مقدار فیلد کلیدی جدول می باشد
            DataRow dr = dt.Rows.Find(19);
            dr.BeginEdit();
            dr["Name_Group"] = "حسابها";
            dr.EndEdit();

            SqlCommandBuilder builder1 = new SqlCommandBuilder(adapter1);
            adapter1.Update(ds, "Group");


لطفا پست نزنید  :لبخند: 
در صورتی که در خصوص هر آنچه که در این تاپیک مطرح شده سوالی دارید می توانید آن را در* تاپیک* *سوالهای مربوط به تاپیک آموزش برنامه نویسی پایگاه داده به همراه مثالهای کاربردی* مطرح کنید

مشاهده لیست
مشاهده *نکته های سی شارپ ...*

----------


## Arash_janusV3

موارد مورد نیاز برای شروع
*
20_حذف یک رکورد*


  string strConnection = @"Data Source = ARASH-PC\ARASH; Initial Catalog = SampleDB; User Id = sa; Password = 1;";
            SqlConnection con = new SqlConnection(strConnection);
            con.Open();

            SqlDataAdapter adapter1 = new SqlDataAdapter("Select * from Acc_Group", con);
            DataSet ds = new DataSet();
            adapter1.Fill(ds, "Group");
            DataTable dt = ds.Tables["Group"];
            adapter1.FillSchema(ds, SchemaType.Source, "Group");
            
            //عدد 21 مقدار فیلد کلیدی می باشد
            dt.Rows.Find(21).Delete();

            SqlCommandBuilder builder1 = new SqlCommandBuilder(adapter1);
            adapter1.Update(ds, "Group");
            MessageBox.Show("حذف اطلاعات با موفقیت انجام شد");


لطفا پست نزنید  :لبخند: 
در صورتی که در خصوص هر آنچه که در این تاپیک مطرح شده سوالی دارید می توانید آن را در* تاپیک* *سوالهای مربوط به تاپیک آموزش برنامه نویسی پایگاه داده به همراه مثالهای کاربردی* مطرح کنید

مشاهده لیست
مشاهده *نکته های سی شارپ ...*

----------


## Arash_janusV3

ضمن تشکر از همه کاربران و مدیران بابت همکاری آنها در این تاپیک 

 دانلود فایل آموزش برنامه نویسی پایگاه داده به همراه مثالهای کاربردی تا به اینجا DataBase_1.rar


لطفا پست نزنید  :لبخند: 
در صورتی که در خصوص هر آنچه که در این تاپیک مطرح شده سوالی دارید می توانید آن را در* تاپیک* *سوالهای مربوط به تاپیک آموزش برنامه نویسی پایگاه داده به همراه مثالهای کاربردی* مطرح کنید

مشاهده لیست
  مشاهده *نکته های سی شارپ ...*

----------


## Arash_janusV3

موارد مورد نیاز برای شروع

*21_ثبت تغییرات در dataGridView*


 private SqlCommand com;
        private SqlConnection con;
        private SqlDataAdapter datd;
        private DataSet ds;

 private void Form2_Load(object sender, EventArgs e)
        {
            button5.Text = "ثبت تغییرات";
            con = new SqlConnection(@"Data Source = ARASH-PC\ARASH; Initial Catalog = SampleDB; User Id = sa; Password = 1;");

            con.Open();
            datd = new SqlDataAdapter("select * from Acc_Group", con);
            ds = new DataSet();
            datd.Fill(ds, "Acc_Group");
            dataGridView1.DataSource = ds.Tables["Acc_Group"];
        }

 private void button5_Click(object sender, EventArgs e)
        {
            try
            {
                datd = new SqlDataAdapter("select * from Acc_Group", con);
                SqlCommandBuilder builder1 = new SqlCommandBuilder(datd);
                datd.Update(ds, "Acc_Group");
                ds.Clear();
                datd.Fill(ds, "Acc_Group");
                dataGridView1.DataSource = ds.Tables["Acc_Group"];
                MessageBox.Show("تغییرات ثبت گردید");
            }
            catch
            {
                MessageBox.Show("تغییرات ثبت نگردید");
            
            }
        }


لطفا پست نزنید  :لبخند: 
در صورتی که در خصوص هر آنچه که در این تاپیک مطرح شده سوالی دارید می توانید آن را در* تاپیک* *سوالهای مربوط به تاپیک آموزش برنامه نویسی پایگاه داده به همراه مثالهای کاربردی* مطرح کنید

مشاهده لیست
مشاهده *نکته های سی شارپ ...*

----------


## Arash_janusV3

موارد مورد نیاز برای شروع
*
22_طراحی یک فرم Master - Detail بر اساس دو جدول Acc_Group و Acc_Koll*


 private CurrencyManager cm;
        public Form3()
        {
            InitializeComponent();
        }

        private void button4_Click(object sender, EventArgs e)
        {
            if ((cm != null) && (cm.Count > 0))
            {
                cm.Position = 0;
            }
        }

        private void button3_Click(object sender, EventArgs e)
        {
            if ((cm != null) && (cm.Count > 0) && (cm.Position < (cm.Count - 1)))
            {
                CurrencyManager manager1 = cm;
                manager1.Position++;
            }
        }

        private void button2_Click(object sender, EventArgs e)
        {
            if ((cm != null) && (cm.Count > 0) && (cm.Position > 0))
            {
                CurrencyManager manager1 = cm;
                manager1.Position--;
            }
        }

        private void button1_Click(object sender, EventArgs e)
        {
            if ((cm != null) && (cm.Count > 0))
            {
                cm.Position = cm.Count;
            }
        }

        private void Form3_Load(object sender, EventArgs e)
        {
            SqlConnection connection1 = new SqlConnection(@"Data Source = ARASH-PC\ARASH; Initial Catalog = SampleDB; User Id = sa; Password = 1;");
            SqlDataAdapter adapter1 = new SqlDataAdapter("select * from Acc_Group", connection1);
            SqlDataAdapter adapter2 = new SqlDataAdapter("select * from Acc_Koll", connection1);

            DataSet set1 = new DataSet();
            adapter1.Fill(set1, "Group");
            adapter2.Fill(set1, "Koll");

            set1.Relations.Add("CustOrd", set1.Tables["Group"].Columns["ID_Group"], set1.Tables["Koll"].Columns["ID_Group"]);

            textBox2.DataBindings.Add("Text", set1.Tables["Group"], "Code_Group");
            textBox3.DataBindings.Add("Text", set1.Tables["Group"], "Name_Group");

            dataGridView1.DataSource = set1.Tables["Group"];
            dataGridView1.DataMember = "CustOrd";

            cm = (CurrencyManager)BindingContext[set1.Tables["Group"]];

            RightToLeft = System.Windows.Forms.RightToLeft.Yes;
            
            button4.Text = "ابتدا";
            button3.Text = "بعدی";
            button2.Text = "قبلی";
            button1.Text = "انتها";

            button4.FlatStyle = FlatStyle.Flat;
            button3.FlatStyle = FlatStyle.Flat;
            button2.FlatStyle = FlatStyle.Flat;
            button1.FlatStyle = FlatStyle.Flat;

            label2.Text = "کد گروه";
            label3.Text = "شرح گروه";

            textBox2.BorderStyle = BorderStyle.FixedSingle;
            textBox3.BorderStyle = BorderStyle.FixedSingle;
        }


لطفا پست نزنید  :لبخند: 
در صورتی که در خصوص هر آنچه که در این تاپیک مطرح شده سوالی دارید می توانید آن را در* تاپیک* *سوالهای مربوط به تاپیک آموزش برنامه نویسی پایگاه داده به همراه مثالهای کاربردی* مطرح کنید

مشاهده لیست
مشاهده *نکته های سی شارپ ...*

----------


## Arash_janusV3

موارد مورد نیاز برای شروع
*
23_نمایش اطلاعات در DataGrid  و جستجو بر اساس یک ستون*


 protected const string connectionString = @"Data Source = ARASH-PC\ARASH; Initial Catalog = SampleDB; User Id = sa; Password = 1;";
        protected DataSet dsData;
        protected DataTable tabel1;
        protected const string TABEL_NAME = "Group";

        public Form4()
        {
            InitializeComponent();
        }

        private void Form4_Load(object sender, EventArgs e)
        {
            label1.Text = "جستجو بر اساس ستون ===> Name_Group";
            LoadDb();
            textBox1.Text = "";
        }
        private void Filter_Db()
        {
            tabel1 = new DataTable();
            tabel1 = dsData.Tables["Group"];
            tabel1.DefaultView.RowFilter = "Name_Group Like '%" + textBox1.Text + "%'";

            if (tabel1.DefaultView.Count == 0)
            {
                MessageBox.Show("رکوردی با این مشخصات وجود ندارد");
            }
            dataGridView1.DataSource = tabel1.DefaultView;
            tabel1 = null;
        }
        private void LoadDb()
        {
            SqlConnection con1 = new SqlConnection(connectionString);
            SqlDataAdapter adapter1 = new SqlDataAdapter("SELECT * FROM dbo.Acc_Group", con1);
            dsData = new DataSet();
            adapter1.Fill(dsData, "Group");
            dataGridView1.DataSource = dsData.Tables["Group"];
            textBox1.Focus();
            textBox1.Select();

        }

        private void textBox1_TextChanged(object sender, EventArgs e)
        {
            Filter_Db();
        }


لطفا پست نزنید  :لبخند: 
در صورتی که در خصوص هر آنچه که در این تاپیک مطرح شده سوالی دارید می توانید آن را در* تاپیک* *سوالهای مربوط به تاپیک آموزش برنامه نویسی پایگاه داده به همراه مثالهای کاربردی* مطرح کنید

مشاهده لیست
مشاهده *نکته های سی شارپ ...*

----------


## Arash_janusV3

موارد مورد نیاز برای شروع
*
24_درج یک رکورد در دیتابیس Access*


  private void button1_Click(object sender, EventArgs e)
        {
            string str = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\mesalhaie C#‎\Data Access\SampleDB.mdb";
            OleDbConnection con1 = new OleDbConnection();
            OleDbCommand command1 = con1.CreateCommand();
            con1.ConnectionString = str;
            con1.Open();
            command1 = con1.CreateCommand();
            command1.CommandText = "INSERT INTO Acc_Group  (SalMali,Code_Group,Name_Group) Values (1392,1002,'انبار')";
            command1.ExecuteNonQuery();
            con1.Close();
            command1.Dispose();
        }


لطفا پست نزنید  :لبخند: 
در صورتی که در خصوص هر آنچه که در این تاپیک مطرح شده سوالی دارید می توانید آن را در* تاپیک* *سوالهای مربوط به تاپیک آموزش برنامه نویسی پایگاه داده به همراه مثالهای کاربردی* مطرح کنید

مشاهده لیست
مشاهده *نکته های سی شارپ ...*

----------


## Arash_janusV3

موارد مورد نیاز برای شروع

*25_درج رکورد با استفاده از Stored Procedure*

توضیحات: ابتدا در sql server یک Stored Procedure ایجاد نمائید

set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
go

CREATE PROCEDURE [dbo].[InsetGroup]
@Sal SMALLINT,@Code SMALLINT,@Name NVARCHAR(50)

AS
INSERT INTO Acc_Group
(
    SalMali,
    Code_Group,
    Name_Group
)
VALUES
(
    @Sal,
    @Code,
    @Name
)   


سپس

 SqlCommand command1 = new SqlCommand();
            string strConnection = @"Data Source = ARASH-PC\ARASH; Initial Catalog = SampleDB; User Id = sa; Password = 1;";
            SqlConnection connection1 = new SqlConnection(strConnection);

            command1.Parameters.Add(new SqlParameter("@Sal", 84));
            command1.Parameters.Add(new SqlParameter("@Code", 98));
            command1.Parameters.Add(new SqlParameter("@Name", "Ali"));

            command1.CommandText = "InsetGroup";
            command1.CommandType = System.Data.CommandType.StoredProcedure;
            command1.Connection = connection1;
            connection1.Open();
            command1.ExecuteNonQuery();
            connection1.Close();


لطفا پست نزنید  :لبخند: 
در صورتی که در خصوص هر آنچه که در این تاپیک مطرح شده سوالی دارید می توانید آن را در* تاپیک* *سوالهای مربوط به تاپیک آموزش برنامه نویسی پایگاه داده به همراه مثالهای کاربردی* مطرح کنید

مشاهده لیست
مشاهده *نکته های سی شارپ ...*

----------


## Arash_janusV3

موارد مورد نیاز برای شروع

*26_فیلتر کردن جدول از طریق Stored Procedure*

توضیحات: ابتدا در sql server یک Stored Procedure ایجاد نمائید

set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
go


CREATE PROCEDURE [dbo].[Filter_Group]

AS
SELECT * FROM Acc_Group WHERE  (NOT(Name_Group IS NULL)) 



سپس

 private void button3_Click(object sender, EventArgs e)
        {
            ExecuteSimpleRowReturningSP();   
        }
        private void ExecuteSimpleRowReturningSP()
        {
            string strConnection = @"Data Source = ARASH-PC\ARASH; Initial Catalog = SampleDB; User Id = sa; Password = 1;";
            SqlConnection connection1 = new SqlConnection(strConnection);
            connection1.Open();
            
            SqlCommand command1 = new SqlCommand("Filter_Group", connection1);
            command1.CommandType = System.Data.CommandType.StoredProcedure;
            SqlDataReader reader1 = command1.ExecuteReader();

            while (reader1.Read())
            {
                MessageBox.Show(reader1["Name_Group"].ToString());
            }
        }


لطفا پست نزنید  :لبخند: 
در صورتی که در خصوص هر آنچه که در این تاپیک مطرح شده سوالی دارید می توانید آن را در* تاپیک* *سوالهای مربوط به تاپیک آموزش برنامه نویسی پایگاه داده به همراه مثالهای کاربردی* مطرح کنید

مشاهده لیست
مشاهده *نکته های سی شارپ ...*

----------


## Arash_janusV3

موارد مورد نیاز برای شروع
*
27_جستجوی جدول از طریق Stored Procedure بر اساس یک مقدار ورودی*

توضیحات: ابتدا در sql server یک Stored Procedure ایجاد نمائید

set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
go

CREATE PROCEDURE [dbo].[Search_name]
@Name NVARCHAR(50)

AS
SELECT
    *
FROM
    Acc_Group WHERE (Name_Group LIKE '%' + @Name + '%') 
    


سپس

 private void button4_Click(object sender, EventArgs e)
        {
            string strConnection = @"Data Source = ARASH-PC\ARASH; Initial Catalog = SampleDB; User Id = sa; Password = 1;";
            SqlConnection connection1 = new SqlConnection(strConnection);
            connection1.Open();

            SqlCommand command1 = new SqlCommand("Search_name", connection1);
            command1.CommandType = System.Data.CommandType.StoredProcedure;
            SqlParameter parameter1 = command1.Parameters.Add("@Name", System.Data.SqlDbType.NVarChar, 50);

            parameter1.Direction = System.Data.ParameterDirection.Input;
            parameter1.Value = "دارائی";
            SqlDataReader reader1 = command1.ExecuteReader();
            while (reader1.Read())
            {
                MessageBox.Show(reader1["Code_Group"].ToString());
            }
        }


لطفا پست نزنید  :لبخند: 
در صورتی که در خصوص هر آنچه که در این تاپیک مطرح شده سوالی دارید می توانید آن را در* تاپیک* *سوالهای مربوط به تاپیک آموزش برنامه نویسی پایگاه داده به همراه مثالهای کاربردی* مطرح کنید

مشاهده لیست
مشاهده *نکته های سی شارپ ...*

----------


## Arash_janusV3

*28_ذخیره کردن یک تصویر*

توضیحات : ابتدا این دستور Stored Procedure را در Sql اجرا نمائید

USE [SampleDB]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[Pictures](
    [ID_Picture] [int] IDENTITY(1,1) NOT NULL,
    [Name] [nvarchar](50) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
    [Picture] [image] NULL,
 CONSTRAINT [PK_Pictures] PRIMARY KEY CLUSTERED 
(
    [ID_Picture] ASC
)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]



سپس در فرم یک OpenFileDialog ، pictureBox1 ، textBox1 ، label1 و دو button اضافه نمائید
و ظاهر فرم را به شکل زیر طراحی کنید
Untitled.png

سپس

using System.IO;
using System.Data.SqlClient;

private void buttonPath_Click(object sender, EventArgs e)
        {
            OpenFileDialog dialog1 = openFileDialog1;
            dialog1.InitialDirectory = @"C:\";
            dialog1.Filter = "All Files|*.*|Bitmaps|*.bmp|GIFs|*.gif|JPEGs|*.jpg";
            dialog1.FilterIndex = 2;
            dialog1 = null;
            if (openFileDialog1.ShowDialog() == System.Windows.Forms.DialogResult.OK)
            {
                PictureBox box1 = pictureBox1;
                box1.Image = Image.FromFile(openFileDialog1.FileName);
                box1.SizeMode = PictureBoxSizeMode.CenterImage;
                box1.BorderStyle = BorderStyle.Fixed3D;
                box1 = null;
            }
        }

        private void buttonSave_Click(object sender, EventArgs e)
        {
            if (textBox1.Text == "")
            {
                MessageBox.Show("نام را ئارد نمائید");
            }
            else
            {
                MemoryStream stream1 = new MemoryStream();
                try
                {
                    pictureBox1.Image.Save(stream1, pictureBox1.Image.RawFormat);
                }
                catch (Exception exception3)
                {
                    MessageBox.Show("تصویر مناسب انتخاب نمائید");
                    return;
                }
                byte[] buffer1 = stream1.GetBuffer();
                stream1.Close();

                string strConnection = @"Data Source = ARASH-PC\ARASH; Initial Catalog = SampleDB; User Id = sa; Password = 1;";
                SqlConnection connection1 = new SqlConnection(strConnection);
                connection1.Open();

                string text1 = "INSERT INTO" + " Pictures(Name,Picture) VALUES (@Name,@Picture)";
                SqlCommand command1 = new SqlCommand(text1, connection1);
                SqlCommand command2 = command1;

                command2.Parameters.Add(new SqlParameter("@Name", SqlDbType.NVarChar, 50)).Value = textBox1.Text;
                command2.Parameters.Add(new SqlParameter("@Picture", SqlDbType.Image)).Value = buffer1;
                command2 = null;
                command1.ExecuteNonQuery();
                connection1.Close();

            }
        }

        private void Form6_Load(object sender, EventArgs e)
        {
            textBox1.Text = "";
            pictureBox1.BorderStyle = BorderStyle.FixedSingle;
        }


لطفا پست نزنید  :لبخند: 
در صورتی که در خصوص هر آنچه که در این تاپیک مطرح شده سوالی دارید می توانید آن را در* تاپیک* *سوالهای مربوط به تاپیک آموزش برنامه نویسی پایگاه داده به همراه مثالهای کاربردی* مطرح کنید

مشاهده لیست
مشاهده *نکته های سی شارپ ...*

----------


## Arash_janusV3

*29_نمایش تصاویر ذخیره شده در جدول*

توضیحات : ابتدا یک ListBox و یک PictureBox به فرم اضافه نمائید

using System.Data.SqlClient;
using System.IO;

protected SqlDataAdapter da;
        protected DataSet dsPictures;
        protected SqlCommandBuilder cbd;

        private void listBox1_SelectedIndexChanged(object sender, EventArgs e)
        {
            if (listBox1.SelectedIndex < 0)
            {
                MessageBox.Show("تصویری برای نمایش وجود ندارد");
            }
            else
            {
                byte[] buffer1 = (byte[])dsPictures.Tables[0].Rows
[listBox1.SelectedIndex]["Picture"];
                MemoryStream stream1 = new MemoryStream(buffer1);
                PictureBox box1 = pictureBox1;
                box1.Image = Image.FromStream(stream1);
                box1.SizeMode = PictureBoxSizeMode.CenterImage;
                box1.BorderStyle = BorderStyle.Fixed3D;
                box1 = null;
                stream1.Close();
            }
        }

        private void Form7_Load(object sender, EventArgs e)
        {
            pictureBox1.BorderStyle = BorderStyle.FixedSingle;
            listBox1.BorderStyle = BorderStyle.FixedSingle;
            try
            {
                string strConnection = @"Data Source = ARASH-PC\ARASH; Initial Catalog = SampleDB; User Id = sa; Password = 1;";
                SqlConnection connection1 = new SqlConnection(strConnection);
                SqlCommand command1 = new SqlCommand("SELECT dbo.Pictures.* FROM dbo.Pictures", connection1);

                da = new SqlDataAdapter(command1);
                cbd = new SqlCommandBuilder(da);
                dsPictures = new DataSet();
                da.Fill(dsPictures);
                ListBox box1 = listBox1;
                box1.DataSource = dsPictures.Tables[0];
                box1.DisplayMember = "Name";
                box1 = null;
            }
            catch (Exception exception1)
            {
                MessageBox.Show("مشکلی پیش آمده است");
            }
        }


لطفا پست نزنید  :لبخند: 
در صورتی که در خصوص هر آنچه که در این تاپیک مطرح شده سوالی دارید می توانید آن را در* تاپیک* *سوالهای مربوط به تاپیک آموزش برنامه نویسی پایگاه داده به همراه مثالهای کاربردی* مطرح کنید

مشاهده لیست
مشاهده *نکته های سی شارپ ...*

----------


## Arash_janusV3

موارد مورد نیاز برای شروع

*30_تعداد رکوردهای جدول در دیتابیس Access*


private void button6_Click(object sender, EventArgs e)
        {
            OleDbConnection con1 = new OleDbConnection(@"Provider=Microsoft.Jet.OLEDB.4.0  ;Data Source=D:\mesalhaie C#‎‎\Data Access\SampleDB.mdb");
            OleDbCommand command1 = con1.CreateCommand();
            command1.CommandText = "SELECT * FROM Acc_Koll;";
            con1.Open();
            OleDbDataReader reader1 = command1.ExecuteReader();
            int num1 = 0;
            while (reader1.Read())
            {
                num1++;
            }
            MessageBox.Show("تعداد رکورد موجود =" + num1.ToString());
            con1.Close();
            reader1.Close();
        }


لطفا پست نزنید  :لبخند: 
در صورتی که در خصوص هر آنچه که در این تاپیک مطرح شده سوالی دارید می توانید آن را در* تاپیک* *سوالهای مربوط به تاپیک آموزش برنامه نویسی پایگاه داده به همراه مثالهای کاربردی* مطرح کنید

مشاهده لیست
مشاهده *نکته های سی شارپ ...*

----------


## Arash_janusV3

موارد مورد نیاز برای شروع

*31_نمایش اطلاعات موجود در یک ستون خاص با استفاده از comboBox** در دیتابیس Access*


private OleDbCommandBuilder myCommand;
        private DataTable myDataTable;
        private OleDbConnection myOleDbConnection;
        private OleDbDataAdapter myOleDbDataAdapter;

        private void comboBox1_Enter(object sender, EventArgs e)
        {
            myOleDbConnection = new OleDbConnection(@"Provider=Microsoft.Jet.OLEDB.4.0  ;Data Source=D:\mesalhaie C#‎\Data Access\SampleDB.mdb");
            myOleDbDataAdapter = new OleDbDataAdapter("SELECT Acc_Koll.* FROM Acc_Koll", myOleDbConnection);
            myOleDbConnection.Open();

            myDataTable = new DataTable();
            myOleDbDataAdapter.Fill(myDataTable);
            comboBox1.DataSource = myDataTable;
            comboBox1.DisplayMember = "Name_Koll";
            comboBox1.ValueMember = "Code_Koll";
            myCommand = new OleDbCommandBuilder(myOleDbDataAdapter);
        }

        private void Form8_Load(object sender, EventArgs e)
        {
            comboBox1.RightToLeft = System.Windows.Forms.RightToLeft.Yes;
        }

        private void comboBox1_SelectedValueChanged(object sender, EventArgs e)
        {
            textBox1.Text = Convert.ToString(comboBox1.SelectedValue);
        }

        private void textBox1_KeyDown(object sender, KeyEventArgs e)
        {
            if (e.KeyCode == Keys.Return)
            {
                comboBox1.SelectedValue = 0;
                comboBox1.SelectedValue = Convert.ToDecimal(textBox1.Text);
            }
        }


لطفا پست نزنید  :لبخند: 
در صورتی که در خصوص هر آنچه که در این تاپیک مطرح شده سوالی دارید می توانید آن را در* تاپیک* *سوالهای مربوط به تاپیک آموزش برنامه نویسی پایگاه داده به همراه مثالهای کاربردی* مطرح کنید

مشاهده لیست
مشاهده *نکته های سی شارپ ...*

----------


## Arash_janusV3

موارد مورد نیاز برای شروع

*32_نمایش اطلاعات موجود در یک ستون خاص با استفاده از comboBox در دیتابیس Sql*


private void comboBox1_SelectionChangeCommitted(object sender, EventArgs e)
        {
            textBox1.Text = comboBox1.SelectedValue.ToString();
        }

        private void Form9_Load(object sender, EventArgs e)
        {
            string text1 = "SELECT Code_Group, Name_Group FROM dbo.Acc_Group";
            SqlConnection connection1 = new SqlConnection(@"Data Source = ARASH-PC\ARASH; Initial Catalog = SampleDB; User Id = sa; Password = 1;");
            SqlDataAdapter adapter1 = new SqlDataAdapter(text1, connection1);

            DataSet set1 = new DataSet();
            adapter1.Fill(set1, "Codes");

            DataTable table1 = new DataTable();
            table1.Columns.Add("Name_Group", typeof(string));
            table1.Columns.Add("Code_Group", typeof(string));

            foreach (DataRow row1 in set1.Tables["Codes"].Rows)
            {
                DataRow row2 = table1.NewRow();
                row2["Name_Group"] = row1["Name_Group"];
                row2["Code_Group"] = row1["Code_Group"];
                table1.Rows.Add(row2);
            }
            comboBox1.DropDownStyle = ComboBoxStyle.DropDownList;
            ComboBox box1 = comboBox1;
            box1.DataSource = table1;
            box1.DisplayMember = "Name_Group";
            box1.ValueMember = "Code_Group";
            box1.SelectedIndex = 0;
            box1 = null;
            comboBox1_SelectionChangeCommitted(null, null);
        }


لطفا پست نزنید  :لبخند: 
در صورتی که در خصوص هر آنچه که در این تاپیک مطرح شده سوالی دارید می توانید آن را در* تاپیک* *سوالهای مربوط به تاپیک آموزش برنامه نویسی پایگاه داده به همراه مثالهای کاربردی* مطرح کنید

مشاهده لیست
مشاهده *نکته های سی شارپ ...*

----------


## Arash_janusV3

موارد مورد نیاز برای شروع

*33_نمایش اطلاعات جدول به صورت لیست در TreeView در دیتابیس Access*

توضیحات : ابتدا یک TreeView و Button به فرم اضافه نمائید

private OleDbConnection Connection;
        private OleDbDataReader DataReader;
        private OleDbCommand Command;

        private void Form10_Load(object sender, EventArgs e)
        {
            button1.Text = "نمایش اطلاعات";
            treeView1.BorderStyle = BorderStyle.FixedSingle;
            button1.FlatStyle = FlatStyle.Flat;
        }
        private void button1_Click(object sender, EventArgs e)
        {
            LoadData();
        }

        private void LoadData()
        {
            treeView1.Nodes.Clear();
            Connection = new OleDbConnection(@"Provider=Microsoft.Jet.OLEDB.4.0  ;Data Source=D:\mesalhaie C#‎‎\Data Access\SampleDB.mdb");
            Command = new OleDbCommand("SELECT Name_Koll FROM Acc_Koll");
            Command.Connection = Connection;
            Connection.Open();
            DataReader = Command.ExecuteReader();
            while (DataReader.Read())
            {
                string text1 = "";
                int num2 = DataReader.FieldCount - 1;
                for (int num1 = 0; num1 <= num2; num1++)
                {
                    text1 = text1 + " " + DataReader[num1].ToString();
                }
                treeView1.Nodes.Add(text1);
            }
        }


لطفا پست نزنید  :لبخند: 
در صورتی که در خصوص هر آنچه که در این تاپیک مطرح شده سوالی دارید می توانید آن را در* تاپیک* *سوالهای مربوط به تاپیک آموزش برنامه نویسی پایگاه داده به همراه مثالهای کاربردی* مطرح کنید

مشاهده لیست
مشاهده *نکته های سی شارپ ...*

----------


## Arash_janusV3

موارد مورد نیاز برای شروع

*34_نمایش اطلاعات یک جدول به صورت درختی در یک TreeView در دیتابیس Access*

توضیحات : ابتدا یک TreeView و Button به فرم اضافه نمائید

 private OleDbConnection Connection;
        private OleDbDataReader DataReader;
        private OleDbCommand Command;

        private void Form10_Load(object sender, EventArgs e)
        {
            button1.Text = "نمایش اطلاعات";
            treeView1.BorderStyle = BorderStyle.FixedSingle;
            button1.FlatStyle = FlatStyle.Flat;
        }
        private void button1_Click(object sender, EventArgs e)
        {
            treeView1.Nodes.Clear();
            Connection = new OleDbConnection(@"Provider=Microsoft.Jet.OLEDB.4.0  ;Data Source=D:\mesalhaie C#‎\Data Access\SampleDB.mdb");
            Command = new OleDbCommand("SELECT Name_Koll FROM Acc_Koll");
            Command.Connection = Connection;
            Connection.Open();
            DataReader = Command.ExecuteReader();
            for (int num1 = 0; DataReader.Read(); num1++)
            {
                treeView1.Nodes.Add(DataReader[0].ToString());
                int num3 = DataReader.FieldCount - 1;
                for (int num2 = 0; num2 <= num3; num2++)
                {
                    treeView1.Nodes[num1].Nodes.Add(DataReader[num2].ToString());
                }
            }
        }


لطفا پست نزنید  :لبخند: 
در صورتی که در خصوص هر آنچه که در این تاپیک مطرح شده سوالی دارید می توانید آن را در* تاپیک* *سوالهای مربوط به تاپیک آموزش برنامه نویسی پایگاه داده به همراه مثالهای کاربردی* مطرح کنید

مشاهده لیست
مشاهده *نکته های سی شارپ ...*

----------


## Arash_janusV3

موارد مورد نیاز برای شروع

*35_برقراری ارتباط بین دو جدول بر اساس فیلد ID_Group* *و نمایش آن در TreeView*

توضیحات : ابتدا یک TreeView به فرم اضافه نمائید

using System.Data.SqlClient;

private void Form13_Load(object sender, EventArgs e)
        {
            treeView1.BorderStyle = BorderStyle.FixedSingle;

            string strCnn = @"Data Source = ARASH-PC\SA; Initial Catalog = SampleDB; User Id = sa; Password = 1;";
            SqlConnection con = new SqlConnection(strCnn);
            con.Open();

            DataSet ds = new DataSet();
            SqlDataAdapter adapter1 = new SqlDataAdapter();
            SqlDataAdapter adapter2 = new SqlDataAdapter();

            string text1 = "Select ID_Group,Code_Group,Name_Group from Acc_Group";
            string text2 = "Select ID_Group,Code_Koll,Name_Koll from Acc_Koll";

            new SqlDataAdapter(text1, con).Fill(ds, "Acc_Group");
            new SqlDataAdapter(text2, con).Fill(ds, "Acc_Koll");

            ds.Relations.Add("GroupToKoll", ds.Tables["Acc_Group"].Columns["ID_Group"],
            ds.Tables["Acc_Koll"].Columns["ID_Group"]);

            foreach (DataRow row1 in ds.Tables["Acc_Group"].Rows)
            {
                TreeNode node1 = new TreeNode();
                node1.Text = Convert.ToString(row1["Code_Group"]) + " " + Convert.ToString(row1["Name_Group"]);
                treeView1.Nodes.Add(node1);

                foreach (DataRow row2 in row1.GetChildRows("GroupToKoll"))
                {
                    TreeNode node2 = new TreeNode();
                    node2.Text = Convert.ToString(row2["Code_Koll"]) + " " + Convert.ToString(row2["Name_Koll"]);
                    node1.Nodes.Add(node2);
                }
            }

        }


لطفا پست نزنید  :لبخند: 
در صورتی که در خصوص هر آنچه که در این تاپیک مطرح شده سوالی دارید می توانید آن را در* تاپیک* *سوالهای مربوط به تاپیک آموزش برنامه نویسی پایگاه داده به همراه مثالهای کاربردی* مطرح کنید

مشاهده لیست
مشاهده *نکته های سی شارپ ...*

----------


## Arash_janusV3

موارد مورد نیاز برای شروع

*36_ایجاد حدول در ACCESS 2010*


using System.Data.OleDb;

private void button1_Click(object sender, EventArgs e)
        {
            string strCon = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=E:\mesalhaie C#‎\Data Access\SampleDB.accdb";
            OleDbConnection Connection = new  OleDbConnection(strCon);

            string strCreate = "CREATE TABLE TB_1" + "(Id COUNTER,Code Text(10),UserName Text(6))";
            OleDbCommand Command = new OleDbCommand(strCreate,Connection);

            Connection.Open();
            Command.ExecuteNonQuery();
            Connection.Close();
        }


لطفا پست نزنید  :لبخند: 
در صورتی که در خصوص هر آنچه که در این تاپیک مطرح شده سوالی دارید می توانید آن را در* تاپیک* *سوالهای مربوط به تاپیک آموزش برنامه نویسی پایگاه داده به همراه مثالهای کاربردی* مطرح کنید

مشاهده لیست
مشاهده *نکته های سی شارپ ...*

----------

