PDA

View Full Version : سوال: ذخيره نشدن در ديتابيس (اكسس)



alasht
چهارشنبه 09 تیر 1389, 11:47 صبح
با سلام و عرض خسته نباشيد خدمت تمام دوستان
من كار با ديتابيسو تازه ياد گرفتم و يخورده مشكل دارم
يه برنامه نوشتم كه مشخصات رو ميگيره و تو ديتابيس ذخيره ميكنه ( برنامه تازه كارا :لبخند: )
من با اكسس يه ديتابيس ساختم به اسم userdb و دو تا تيبل داره به اسم moshakhasat و madrak من مراحل انجام اتصال رو انجام دادم و DataGridView ساختم و ديتابيسمو بهش متصل كردم و مشخصاتو نشون ميده مشكلم اينجاست كه من وقتي برنامه رو اجرا ميكنم و تكست باكسها يا همون مشخصات رو تكميل ميكنم رو دكمه ذخيره كه كليك ميكنم اطلاعات تو DataGridView ميره ولي وقتي برنامه رو باز و بسته ميكنم همه چي ميپره يعني هيچي تو ديتابيس ذخيره نشده و دوباره datagridview پاك ميشه و كلا هيچي تو ديتابيس ذخيره نميشه
من اين كدها رو براي دكمه ذخيره نوشتم


//conection begin
string Constr = "Provider = Microsoft.Jet.OLEDB.4.0;Data Source = " +
Application.StartupPath + "..\\userdb.mdb";
OleDbConnection Connect = new OleDbConnection(Constr);
if (Connect.State == ConnectionState.Closed)
{
Connect.Open();
}
//conection end

//query begin

string StrSql = "INSERT INTO moshakhasat(nam,famil,pedar" +
",shenasnameh,tavalod,sodor,adres,jensiat,madrak" +
")values('" + txt_nam.Text + "','" + txt_famil.Text + "','" + txt_pedar.Text + "'," +
"'" + txt_shenasnameh.Text + "','" + txt_tavalod.Text + "','" + txt_sodor.Text + "','" + txt_adres.Text + "','" +
cbo_jensiat.SelectedValue.ToString() + "','" + cbo_madrak.SelectedValue.ToString() + "')";


// etesal va zakhire dar db

OleDbCommand mycommand = new OleDbCommand();
mycommand.CommandText = StrSql;
mycommand.Connection = Connect;
mycommand.ExecuteNonQuery();

// be rooz resani data grid
string COMMANDTEXT = "select moshakhasat.*,[madrak-jensiat].madrak_nam," +
"(moshakhasat.nam+''+moshakhasat.famil) as Fullname" +
" From moshakhasat,[madrak-jensiat]" +
" WHERE [madrak-jensiat].madrak_nam = moshakhasat.madrak";
//ersall etelat be DB
OleDbDataAdapter DAStudent = new OleDbDataAdapter(COMMANDTEXT, Connect);

DataSet DSStudent = new DataSet();
DAStudent.Fill(DSStudent, "moshakhasat");

grid1.AutoGenerateColumns = false;
grid1.DataSource = DSStudent.Tables["moshakhasat"];



دوستان لطفا راهنمايي كنند و بگن مشكل از چيه
با تشكر

mbsmbsmbs
چهارشنبه 09 تیر 1389, 13:00 عصر
امیدورام به دردتون بخوره:

اتصال به پایگاه داده:



static OleDbConnection con = new OleDbConnection("provider= microsoft.jet.oledb.4.0; data source=" + Application.StartupPath + "\userdb.mdb.mdb");
OleDbCommand cmd = new OleDbCommand("", con);
OleDbDataAdapter da = new OleDbDataAdapter("", con);
قسمت درج:


string StrSql = "INSERT INTO moshakhasat(nam,famil,pedar" +
",shenasnameh,tavalod,sodor,adres,jensiat,madrak" +
")values('" + txt_nam.Text + "','" + txt_famil.Text + "','" + txt_pedar.Text + "'," +
"'" + txt_shenasnameh.Text + "','" + txt_tavalod.Text + "','" + txt_sodor.Text + "','" + txt_adres.Text + "','" +
cbo_jensiat.SelectedValue.ToString() + "','" + cbo_madrak.SelectedValue.ToString() + "')";

cmd.CommandText = StrSql;
con.Open();
cmd.ExecuteNonQuery();
con.Close();

alasht
چهارشنبه 09 تیر 1389, 15:21 عصر
سلام
دوست عزيز ممنون از لطفت ولي من ميخوام بدونم كد من چه ايرادي داره كه اطلاعات ذخيره نميشه ؟
يعني تو ديتاگرايد نشون ميده ولي برنامه رو ميبنيدي هيچي ذخيره نشده و ديتا گرايد ويو هم هر چي توش بوده پاك ميشه
با تشكر