PDA

View Full Version : سوال: نحوه ارسال یک یک فیلد بانک به متغیر



mina.ab
یک شنبه 05 اردیبهشت 1389, 19:51 عصر
با سلام
می دونم که این سئوالم خیلی ساده است اما ببخشیددیگه من چه جوری میتونم یک فیلد را که از بانک وارد کردم مثلا فیلد نام دانشجو را در یک متغیر قرار بدهم البته نه به صورت بایند یعنی فقط محتوای فیلد را به یک متغیر اضافه بکنم بیشتر در بخش محاسبات احتیاج دارم
ممنون :متفکر::گریه:

FastCode
یک شنبه 05 اردیبهشت 1389, 20:14 عصر
سلام.
ورودتون به "جامعه برنامه نویس" رو خوش آمد میگم.


System.Data.SqlClient.SqlConnection Connection = new System.Data.SqlClient.SqlConnection("DataSource=.;Initial Catalog=MyDataBase");
System.Data.SqlClient.SqlCommand Command = new System.Data.SqlClient.SqlCommand("Select Name From Students", Connection);
Connection.Open();
System.Data.SqlClient.SqlDataReader Reader = Command.ExecuteReader();
int FieldCount = Reader.FieldCount;
object[] Values = new object[FieldCount];
int i=0;
while (Reader.Read())
{
Reader.GetValues(Values);
MessageBox.Show("Row " + (++i).ToString());
for (int n = 0; n != FieldCount; )
{
MessageBox.Show("Field " + (++n).ToString() + ":\n\r" + Values[n - 1].ToString());
}
}
Reader.Close();
Connection.Close();

این کد رو خوب بخونید و هر جا اشکال داشتید بپرسید.

s.khoshfekran
یک شنبه 05 اردیبهشت 1389, 20:34 عصر
DataRow dr = dt.Rows[3];
int x = dr.Field<int>("ID");

موفق باشی!!

mohammad_2039
دوشنبه 06 اردیبهشت 1389, 12:30 عصر
سلام.
ورودتون به "جامعه برنامه نویس" رو خوش آمد میگم.


System.Data.SqlClient.SqlConnection Connection = new System.Data.SqlClient.SqlConnection("DataSource=.;Initial Catalog=MyDataBase");
System.Data.SqlClient.SqlCommand Command = new System.Data.SqlClient.SqlCommand("Select Name From Students", Connection);
Connection.Open();
System.Data.SqlClient.SqlDataReader Reader = Command.ExecuteReader();
int FieldCount = Reader.FieldCount;
object[] Values = new object[FieldCount];
int i=0;
while (Reader.Read())
{
Reader.GetValues(Values);
MessageBox.Show("Row " + (++i).ToString());
for (int n = 0; n != FieldCount; )
{
MessageBox.Show("Field " + (++n).ToString() + ":\n\r" + Values[n - 1].ToString());
}
}
Reader.Close();
Connection.Close();

این کد رو خوب بخونید و هر جا اشکال داشتید بپرسید.

دست شما درد نکنه خیلی جالب بود:تشویق:
فقط من یه سوال دارم این کدی که نوشتید یه فیلد رو به ترتیب از ردیف اول تا آخر میخونه اگه بخوام سه تا فیلد رو به ترتیب بخونه بعد مقدارشو مثلا در یه عدد ضرب کنه و ردیف ها رو با تغییرات جدید در یه جدول دیگه ذخیره کنم باید چیکار کنم. با تشکر

FastCode
دوشنبه 06 اردیبهشت 1389, 12:42 عصر
برای خوندن چند تا فیلد باید دستور Select رو تغییر بدید.مثلا"
"Select Count, Price, Peercent From Students"
و به جای

Reader.GetValues(Values);
MessageBox.Show("Row " + (++i).ToString());
for (int n = 0; n != FieldCount; )
{
MessageBox.Show("Field " + (++n).ToString() + ":\n\r" + Values[n - 1].ToString());
}

از

MessageBox.Show("Row " + (++i).ToString());
long Count = Reader.GetInt64(0);
long Price = Reader.GetInt64(1);
float Percent = Reader.GetIntSingle(2);
for (int n = 0; n != FieldCount; )
{
MessageBox.Show(Count*Price*(100-Percent)/100);
}


استفاده کنید.