PDA

View Full Version : ذخیره داده های datasetدر database



saeed-kh
شنبه 02 خرداد 1388, 19:15 عصر
سلام به همه.
جداولم رو با SQL2000درست کردم.
یک datasetبصورت typedدر برنامه ساختم.
حالا چجوری باید تغییراتی رو که در datasetایجاد کردم به جداول اصلی هم اضافه کنم.
دستور آپدیتی چیزی وجود نداره در dataset????

h_r_sh
دوشنبه 04 خرداد 1388, 00:50 صبح
dataset ds;
string connectionstring;
sqlconnection con;
sqlparameter[] param;
sqldataadapter da;

public form1(){
initializecomponent();
ds=new dataset();
param=new sqlparameter[2];
param[0]=new sqlparameter("@a",sqldbtype.varchar);
param[0].value="c#";
param[1]=new sqlparameter("@b",sqldbtype.varchar);
param[1].value="update_example";
con=new sqlconnection();
connectionstring="my connection string";
con.connectionstring=connectionstring;
da=new sqldataadapter();
da.selectcommand.commandtext="select * from table";
da.selectcommand.connection=con;
da.selectcommand.commandtype=commandtype.text;
da.selectcommand.parameters.addrange(param);

// field1 & field2 are column name.
da.updatecommand.connection=con;
da.updatecommand.commandtext=@"update my_table set [field1]=@a, [field2]=@b where ([field1]=@aa) and (field2=@bb);
da.updatecommand.parameter.addrange(new sqlparameter[] {
new sqlparameter("@a",sqldbtype.varchar,0,"field1"),
new sqlparameter("@b",sqldbtype.varchar,0,"field2"),
new sqlparameter("@aa",sqldbtype.varchar,0,parameterdirection.input,true ,((byte)(0)),((byte)(0)),"field1",datarowversion.original,null),
new sqlparameter("@bb",sqldbtype.varchar,0,parameterdirection.input,true ,((byte)(0)),((byte)(0)),"field2",datarowversion.original,null)});}

private void form1_load(object sender, eventargs e){
da.fill(ds,"my_table");
mydatagridview.datasource=ds.table[0];}

private void btnUpdate_click(object sender, eventargs e){
da.update(ds);}

saeed-kh
دوشنبه 04 خرداد 1388, 01:52 صبح
سلام .
راه راحتری وجود نداره؟
متد Updateرو وقتی که دیتا ست رو بصورت Typedاز رو جدول میسازیم داخل یک کلاس dataadapterمخصوص همون دیتاست درست میکنه.
و من هم استفاده میکنم اما تغییرات دیتاست رو در جداول اصلی اعمال نمیکنه.
اگه هی بخوایم کانکشن و کوری بنویسیم که ناجور میشه .دیتاست نداشته باشم بهتر نیست؟:چشمک:مستقیم با بانک کار کنم.