PDA

View Full Version : سوال: مقدار دهی متغیر با دیتا بیس



pbiuki630
سه شنبه 27 مرداد 1388, 10:25 صبح
سلام
اگه بخوام مقادیری رو از چند ستون یک رکورد دیتابیس بخونم و توی متغیر بریزم باید چی کار کنم؟

M.YasPro
سه شنبه 27 مرداد 1388, 10:51 صبح
اگر دستورت فقط یه مقدار داره میتونی از


variable=SqlCommand.ExecuteScalar()

اما اگه جوابت چند تا مقدار داره (مثلا جوابت چند تا رکورده)باید از dataRow,dataTable,dataSet,... استفاده کنی.

pbiuki630
سه شنبه 27 مرداد 1388, 11:29 صبح
اگر دستورت فقط یه مقدار داره میتونی از


variable=SqlCommand.ExecuteScalar()

اما اگه جوابت چند تا مقدار داره (مثلا جوابت چند تا رکورده)باید از dataRow,dataTable,dataSet,... استفاده کنی.


جوابم چند تا ستون از یک رکورد باید چی کار کنم؟

M.YasPro
سه شنبه 27 مرداد 1388, 12:06 عصر
این کد از چند تا از ستونهای یه جدول استخراج می کنه


SqlConnection objConnection = newSqlConnection("Data Source=localhost;Initial Catalog=NorthWind;User ID=sa;Password=123");
SqlCommand objCommand = newSqlCommand();
objCommand.Connection = objConnection;
objCommand.CommandType = CommandType.Text;
objCommand.CommandText = "SELECT CustomerID,CompanyName,ContactName FROM Customers";
SqlDataAdapter objDataAdapter = newSqlDataAdapter();
objDataAdapter.SelectCommand = objCommand;
DataSet objDataSet = newDataSet();
objDataAdapter.Fill(objDataSet, "Customers");
DataView objDataView = newDataView(objDataSet.Tables[0]);
dataGridView1.DataSource = objDataView;



حالا اگر بخوای این داده ها رو تو جایی بریزی (مثل یه متغیر) باید از متغیر هایی که قبلا گفتم استفاده کنی مثل dataRow یا DataRowCollection

برای چه کاری میخوای ازش استفاده کنی؟

Reza_Yarahmadi
سه شنبه 27 مرداد 1388, 12:15 عصر
ساده ترین راه استفاده از DataReader است.

string FieldsValue;
SqlCommand Cmd = new SqlCommand("select * From TableName", Conn);
SqlDataReader dr;
Conn.Open();
dr = Cmd.ExecuteReader();
if (dr.Read())
FieldsValue = dr["Field1"].ToString() + dr["Field2"] + dr["Field3"];
Conn.Close();

pbiuki630
سه شنبه 27 مرداد 1388, 12:16 عصر
این کد از چند تا از ستونهای یه جدول استخراج می کنه


SqlConnection objConnection = newSqlConnection("Data Source=localhost;Initial Catalog=NorthWind;User ID=sa;Password=123");
SqlCommand objCommand = newSqlCommand();
objCommand.Connection = objConnection;
objCommand.CommandType = CommandType.Text;
objCommand.CommandText = "SELECT CustomerID,CompanyName,ContactName FROM Customers";
SqlDataAdapter objDataAdapter = newSqlDataAdapter();
objDataAdapter.SelectCommand = objCommand;
DataSet objDataSet = newDataSet();
objDataAdapter.Fill(objDataSet, "Customers");
DataView objDataView = newDataView(objDataSet.Tables[0]);
dataGridView1.DataSource = objDataView;



حالا اگر بخوای این داده ها رو تو جایی بریزی (مثل یه متغیر) باید از متغیر هایی که قبلا گفتم استفاده کنی مثل dataRow یا DataRowCollection

برای چه کاری میخوای ازش استفاده کنی؟







ممنون از لطفتون ولی مشکل اینکه کد کار با dararow بلد نیستم

M.YasPro
سه شنبه 27 مرداد 1388, 12:37 عصر
DataRow dataRow=objDataSet.Tables["Customers"].Rows[0];


برای دسترسی به هر کدوم از فیلد هات هم:


object obj=dataRow["FieldName"];

pbiuki630
سه شنبه 27 مرداد 1388, 13:15 عصر
DataRow dataRow=objDataSet.Tables["Customers"].Rows[0];


برای دسترسی به هر کدوم از فیلد هات هم:


object obj=dataRow["FieldName"];



ممنون خیلی لطف کردید.شرمنده یه سوال دیگه هم دارم اگر شماره آخرین سطر بخوام باید چی کار کنم؟

M.YasPro
سه شنبه 27 مرداد 1388, 13:40 عصر
میشه


objDataSet.Tables[0].Rows.Count;

خواهش می کنم ، خوشحال میشم اگه من ناقابل چیزی رو بلد باشم و به کسی انتقال بدم .

pbiuki630
سه شنبه 27 مرداد 1388, 13:47 عصر
میشه


objDataSet.Tables[0].Rows.Count;

خواهش می کنم ، خوشحال میشم اگه من ناقابل چیزی رو بلد باشم و به کسی انتقال بدم .

خیلی لطف کردید،ممنونم. من اولین پروژه c# که دارم انجام میدم زیاد به مشکل برمیخورم،ببخشید اگه زیاد سوال پرسیدم.بازم ممنون.