سلام
اگه بخوام مقادیری رو از چند ستون یک رکورد دیتابیس بخونم و توی متغیر بریزم باید چی کار کنم؟
سلام
اگه بخوام مقادیری رو از چند ستون یک رکورد دیتابیس بخونم و توی متغیر بریزم باید چی کار کنم؟
آخرین ویرایش به وسیله pbiuki630 : سه شنبه 27 مرداد 1388 در 11:40 صبح
اگر دستورت فقط یه مقدار داره میتونی از
variable=SqlCommand.ExecuteScalar()
اما اگه جوابت چند تا مقدار داره (مثلا جوابت چند تا رکورده)باید از dataRow,dataTable,dataSet,... استفاده کنی.
این کد از چند تا از ستونهای یه جدول استخراج می کنه
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
برای چه کاری میخوای ازش استفاده کنی؟
ساده ترین راه استفاده از 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();
DataRow dataRow=objDataSet.Tables["Customers"].Rows[0];
برای دسترسی به هر کدوم از فیلد هات هم:
object obj=dataRow["FieldName"];
میشه
objDataSet.Tables[0].Rows.Count;
خواهش می کنم ، خوشحال میشم اگه من ناقابل چیزی رو بلد باشم و به کسی انتقال بدم .