PDA

View Full Version : سوال: بدست آوردن مقدار select



fdaliry
دوشنبه 10 خرداد 1389, 17:47 عصر
سلام
پس از دستور زیر اگه بخام مقدار num را تو ی متغییر داشته باشم باید چه کدی استفاده کنم




select id as [شماره],name as [نام پروژه],num as [نمره] from project


ممنون میشم کمکم کنید

sds1920
دوشنبه 10 خرداد 1389, 18:09 عصر
بستگي داره توي ديتابيس باشه يا ديتاست.
اولا كه بهتره اسم فيلداتو فارسي انتخاب نكني.اگه مي خواي توي گريدويو فارسي نشون بده بهتره خاصيت HeaderText ستوني كه به num متصل هست رو فارسي بنويسي.
به هر حال اگه توي ديتاست (يا بهتر بگم ديتاتيبل) بخواي اين كارو بكني از كد زير استفاده كن:


Dset.Tables["TableName"].Rows[RowIndex]["num"]=12;

NIK
دوشنبه 10 خرداد 1389, 18:10 عصر
سلام

اگه شما از SqlDataAdapter استفاده می کنید، پس از اجرای این Query، یک Datatable دارید که حاصل Query در آن Fill شده است.
باز اگه مطمئن هستید که خروجی فقط یک رکورد است میتونید از روش زیر استفاده کنید:




mySqlDataAdapter.Fill(myDatatable);
myObject=Convert.ToInt32(myDatatable.Rows[0]["شماره"]);

fdaliry
سه شنبه 11 خرداد 1389, 00:41 صبح
متاسفانه نتونستم از این کدها استفاده کنم:خجالت:
این کد منه که میخام پس از select مقدار num در ی متغییر قرار بگیره


DataSet ds2 = new DataSet();
d = "select id as [شماره],num as [نمره] from project where name='" + comboBox1.Text + "'";
adap = new OleDbDataAdapter(d, connectionString);
adap.Fill(ds2, "project");

ممنون میشم راهنماییم کنید

f_naderi
سه شنبه 11 خرداد 1389, 01:29 صبح
سلام من این کد رو در برنامه ی خودم استفاده کردم و جواب داده :

ds.Tables.Clear();
strsql = "select max(codemoshtari)+1 from moshtari";
da = new OleDbDataAdapter(strsql, con);
da.Fill(ds);
textBox5.Text = ds.Tables[0].Rows[0][0].ToString();
حالا شما هم کد خودتون رو به این صورت تغییر بدید ، ببینید جواب میده یا نه.

DataSet ds2 = new DataSet();
d = "select id as [شماره],num as [نمره] from project where name='" + comboBox1.Text + "'";
adap = new OleDbDataAdapter(d, connectionString);
adap.Fill(ds2);
string s = ds2.Tables[0].Rows[0][1].ToString();

sds1920
سه شنبه 11 خرداد 1389, 15:27 عصر
ميبخشيد من اشتباه متوجه شدم.
اگه شما نوع داده اي فيلدتو مي دوني(حالا در اين نمونه فكر كنم int باشه)يه متغير از همون نوع تعريف كن و مثل زير:



int Num=(int)Dset.Tables["TableName"].Rows[RowIndex]["num"];


اگر هم نوع داده اي فيلد رو نمي دوني يه متغيير از نوع Object تعريف كن و مثل زير :



Object obj=Dset.Tables["TableName"].Rows[RowIndex]["num"];

fdaliry
چهارشنبه 12 خرداد 1389, 01:06 صبح
از هه ممنونم دنبال این کد بودم که از راهنماییتون پیدا کردم



string s = ds.Tables[0].Rows[0][0].ToString();