PDA

View Full Version : درج یا حذف ...در اکسس



proreza
پنج شنبه 13 خرداد 1389, 21:12 عصر
سلام
خوشحالم که در بین دوستان برنامه نویس عزیز هستم
من 4تا فیلد با نام های a,b,c,dدر اکسس درست کردم وبعد در برنامه
#cدیتابیس را معرفی کردم به یک دیتا گرید ومیخواهم باتون های به آن اضافه که
حذف ودرج وپاک کردن و جستجو بر حسب نام در دیتا گرید را انجام دهم باید چه دستوراتی را وارد کنم ممنون :قلب:

mmd2009
جمعه 14 خرداد 1389, 01:52 صبح
سلام دوست عزیز من 4 دستور اصلی رو برات میزام و هر جا مشکلی داشتی بگو تا کمک کنیم:

این کدها واسه

کد درج ( INSERT )






con.ConnectionString = constring;
cmd.Connection = con;
con.Open();

cmd.CommandText = "INSERT INTO moshtari(name,family,tell,mobile,address,tozihat,d ate_sabt,code,bedehi,keraie)" +
"values(@name,@family,@tell,@mobile,@address,@tozih at,@date_sabt,@code,@bedehi,keraie)";
cmd.Parameters.AddWithValue("@name", txtname_moshtari .Text.Trim());
cmd.Parameters.AddWithValue("@family", txtfamily.Text.Trim());
cmd.Parameters.AddWithValue("@tell", txttell.Text.Trim());
cmd.Parameters.AddWithValue("@mobile", txtmob.Text.Trim());
cmd.Parameters.AddWithValue("@address", txtaddress.Text.Trim());
cmd.Parameters.AddWithValue("@tozihat", txtozihat.Text.Trim());
cmd.Parameters.AddWithValue("@date_sabt", txtdate_sabt.Text.Trim());
cmd.Parameters.AddWithValue("@code", txtcode.Text.Trim());
cmd.Parameters.AddWithValue("@bedehi", txtbedehi.Text.Trim());
cmd.Parameters.AddWithValue("@keraie", "0");
cmd.ExecuteNonQuery();
cmd.Parameters.Clear();
con.Close();
MessageBox.Show("مشتری مورد نظر شما با موفقیت ثبت شد", "تایید ثبت", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);




کد حذف ( DELETE )






con.ConnectionString = constring;
cmd.Connection = con;
con.Open();
cmd.CommandText = "delete from moshtari where code='" + txtsearch_moshtari.Text.Trim() + "'";
cmd.ExecuteNonQuery();
con.Close();
MessageBox.Show("مشتری مورد نظر شما با موفقیت حذف شد", "تایید حذف", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);



کد ویرایش ( EDIT )





con.ConnectionString = constring;
cmd.Connection = con;
con.Open();
cmd.CommandText = "uPdate moshtari set " +
"tell=@tell,mobile=@mobile,address=@address" +
",tozihat=@tozihat,bedehi=@bedehi" +
" where code='" + txtsearch_moshtari .Text.Trim() + "'";
cmd.Parameters.AddWithValue("@tell", txttell.Text.Trim());
cmd.Parameters.AddWithValue("@mobile", txtmob.Text.Trim());
cmd.Parameters.AddWithValue("@address", txtaddress.Text.Trim());
cmd.Parameters.AddWithValue("@tozihat", txtozihat.Text.Trim());
cmd.Parameters.AddWithValue("@bedehi", txtbedehi.Text.Trim());
cmd.Parameters.AddWithValue("@code", txtsearch_moshtari .Text.Trim());
cmd.ExecuteNonQuery();
cmd.Parameters.Clear();
con.Close();
MessageBox.Show("مشتری مورد نظر شما با موفقیت ویرایش شد", "تایید ویرایش", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);





کد جستجو ( SEARCH )





con.ConnectionString = constring;
cmd.Connection = con;
con.Open();
cmd.CommandText = "SELECT *From moshtari where code='" + txtsearch_moshtari .Text.Trim() + "'";
re = cmd.ExecuteReader();




if (re.Read())
{

txtname .Text = re.GetValue(1).ToString();
txtfamily .Text = re.GetValue(2).ToString();
txttell.Text = re.GetValue(3).ToString();
txtmob.Text = re.GetValue(4).ToString();
txtaddress.Text = re.GetValue(5).ToString();
txtozihat.Text = re.GetValue(6).ToString();
txtdate.Text = re.GetValue(7).ToString();
txtbedehi.Text = re.GetValue(9).ToString();
txtkeraie.Text = re.GetValue(10).ToString();
re.Close();
con.Close();


}

Open-Source
جمعه 14 خرداد 1389, 10:23 صبح
اینم یه نمونه برنامه (دفترچه تلفن):

http://open-source.blogfa.com/post-41.aspx

proreza
جمعه 14 خرداد 1389, 13:15 عصر
ممنون از دوستان عزیز که جواب دادن :قلب:
فقط وقتی کد ها را وارد کردم ارور داد در
con
constring
cmd
,...
چه کار کنم اصلا اون ها را باید تغییر بدم

mmd2009
جمعه 14 خرداد 1389, 13:30 عصر
دوست عزیز کد خودتون رو به صورت کامل بذارید تا اشکالاتش رو بهتون بگیم

proreza
جمعه 14 خرداد 1389, 16:07 عصر
من از اول شروع میکنم تا اشکالات ام را بفرماید ممنون
خوب من اول یک دیتاگرید توی فرم میزارم بعد یک باتون میزارم که وقتی روی باتون کلیک میکنم درست اجرا میشه مثال برنامه دفترچه تلفنselectدیتابیس برام نشون داده من کد را در باتون را راوارد میکنمinsertوبعد کد
اینم کد




System.Data.OleDb.OleDbConnection ocn = new System.Data.OleDb.OleDbConnection();
System.Data.OleDb.OleDbCommand ocm = new System.Data.OleDb.OleDbCommand();

ocn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Application.StartupPath + "\\db1.mdb";

ocm.Connection = ocn;

//روش اول
//ocm.CommandText = "INSERT INTO t1 (fname,lname)VALUES('" + textBox1.Text + "','" + textBox2.Text + "')";

//روش دوم
ocm.CommandText = "INSERT INTO r1 (a,b,c,d)VALUES(@p1,@p2,@p3,@p4)";
ocm.Parameters.Clear();
ocm.Parameters.AddWithValue("@p1", textBox1.Text);
ocm.Parameters.AddWithValue("@p2", textBox2.Text);
ocm.Parameters.AddWithValue("@p3", textBox3.Text);
ocm.Parameters.AddWithValue("@p4", textBox4.Text);
ocn.Open();
ocm.ExecuteNonQuery();
ocn.Close();

ocm.Dispose();


وقتی کد را اجرا میکنم و روی باتون کلیک میکنم این ارور را میده
Syntax error in INSERT INTO statement.
:متفکر: در خط

ocm.ExecuteNonQuery();

mmd2009
جمعه 14 خرداد 1389, 16:51 عصر
دوست عزیز کد شما غلط املائی داره مطمئنا و اینم کد صحیح





System.Data.OleDb.OleDbConnection ocn = new System.Data.OleDb.OleDbConnection();
System.Data.OleDb.OleDbCommand ocm = new System.Data.OleDb.OleDbCommand();
ocn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=db1.mdb";
ocm.Connection = ocn;
//روش اول

//ocm.CommandText = "INSERT INTO t1 (fname,lname)VALUES('" + textBox1.Text + "','" + textBox2.Text + "')";

//روش دوم

ocm.CommandText = "INSERT INTO r1 (a,b,c,d)VALUES(@a,@b,@c,@d)";
ocm.Parameters.Clear();
ocm.Parameters.AddWithValue("@a", textBox1.Text);
ocm.Parameters.AddWithValue("@b", textBox2.Text);
ocm.Parameters.AddWithValue("@c", textBox3.Text);
ocm.Parameters.AddWithValue("@d", textBox4.Text);
ocn.Open();
ocm.ExecuteNonQuery();
ocn.Close();
ocm.Dispose();

proreza
شنبه 15 خرداد 1389, 13:47 عصر
ممنون دوست عزیز مشکل حل شد:بوس::قلب::قلب::قلب:
خوب حالا میخواهم با کلیک کردن روی باتون دو تا فرم را برام باز کنه مثلا فرم 2و3 را یک جا باز کنه باید از کدوم کد استفاده کنم!!

mmd2009
شنبه 15 خرداد 1389, 13:56 عصر
البته این سوال رو باید تو یک تاپیک دیگه میزدی ولی با این حال این جوابته :





Form2 f2 = new Form2();
Form3 f3 = new Form3();
f2.Show();
f3.Show();




با توجه به قوانین دوست عزیز هر سوالی رو تو یک فرم مجزا بپرس

با تشکر

proreza
شنبه 15 خرداد 1389, 17:19 عصر
ببخشید اصلا حواسم نبود عذرمیخواهم از مدیران عزیز
ممنون دوست عزیز که یاد آوری کردی