PDA

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



Alireza.imani
جمعه 17 آذر 1391, 15:09 عصر
سلام دوستان...من با کد زیر یک لیبل رو می خوام به عنوان اولین column از یک جدول در اکسس تغییر نام بدم.اما

نام متن لیبلم میشه : TYPE.اییراد این کد چیه؟:



con.Open();
System.Data.DataTable dt = null;


dt = con.GetOleDbSchemaTable(OleDbSchemaGuid.Columns, null);





foreach (DataRow row in dt.Rows)
{
string strSheetTableName = row["COLUMN_NAME"].ToString();

label2.Text = strSheetTableName.ToString();
con.Close();



}

samadblaj
جمعه 17 آذر 1391, 16:04 عصر
سلام واضح نیست

OleDbConnection cn = new OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\\Documents and Settings\\User\\My Documents\\Database1.accdb");
cn.Open();
DataTable dbSchema = cn.GetOleDbSchemaTable(OleDbSchemaGuid.Columns, new object[] { null, null, "amitkumar", null });
foreach (DataRow row in dbSchema.Rows)
{
string MyName = row["COLUMN_NAME"].ToString();
string myDT = row["DATA_TYPE"].ToString();
}


اینـــو (http://stackoverflow.com/questions/7959903/reading-from-an-access-database-c-sharp) اینم خیلی خوبه (http://social.msdn.microsoft.com/Forums/en-US/adodotnetdataproviders/thread/c8d7b3a6-cd99-4a45-a90b-66bfd6142b35) هست
dataRecord.Cells["Download"].Value.ToString();

dataset.Tables[0].Rows[0]

Alireza.imani
جمعه 17 آذر 1391, 16:11 عصر
اگر بخوام با این کد عنوان دومین column رو بگیرم.چه تغییری باید درش ایجاد کنم؟

samadblaj
جمعه 17 آذر 1391, 18:45 عصر
سلام ؛
یا میتونید از index استفاده کنید که index ایتم دوم میشه 1.
یا میتونید از نام ستون استفاده کنید...
string MyName = row["COLUMN_NAME"].ToString();

Alireza.imani
جمعه 17 آذر 1391, 18:58 عصر
از راه نام ستون نمیشه...چون نام ستون رو کاربر مشخص می کنه و برنامه اون رو نمی دونه.

از راه Index چه طوریه؟

mohammad-bahrami
جمعه 17 آذر 1391, 19:41 عصر
row["COLUMN_NAME"].valu.ToString();

Alireza.imani
شنبه 18 آذر 1391, 13:36 عصر
پاسختون اشتباهه.


row["COLUMN_NAME"].value.ToString();

اصلا .value توی این کد امکان پذیر نیست و ارور می ده.

roolinjax
شنبه 18 آذر 1391, 18:24 عصر
سلام
مگه عنوان (Header) اولین ستون جدول رو نمی خوای در بیاری؟ یا من اشتباه متوجه شدم.
اگر درست فهمیدم که دیگه نیازی به foreach نداری
خیلی ساده بنویس :
label1.Text=dt.Columns[0].ColumnName.ToString();
منظورتون همین بود انشاءاله ؟