View Full Version : شمارش تعداد فیلدهای دیتابیس
bitcob589
جمعه 05 خرداد 1391, 14:37 عصر
با سلام
چگونه می توان تعداد فیلدهای دیتابیس شمارش کرد در یک آرایه از نوع string ذخیره کرد
bitcob589
جمعه 05 خرداد 1391, 15:21 عصر
شمارش تعداد آن به صورت کد زیر توسط برنامه نویس مشخص نشود به ازای خواندن هر فیلد دیتابیس یکی به مقدار قبلی اضافه کند و در آرایه از نوع string ذخیره کند
string[] s = new string[30];
فرید نجفلو
جمعه 05 خرداد 1391, 18:22 عصر
سلام
//دستور دریافت اطلاعات ستون ها
//اطلاعات بیشتری نیز می توانید با این دستور بدست آوید - با گذاشتن * در دستور
string TSQL = @" SELECT
COLUMN_NAME
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_NAME = 'Table1'";
//نتیجه دستور
DataTable dtRes = new DataTable();
SqlConnection Conn = new SqlConnection(@"Data Source=.;Initial Catalog=test;Integrated Security=True");
SqlDataAdapter adp = new SqlDataAdapter(TSQL, Conn);
//اجرای دستور
adp.Fill(dtRes);
//لیست نام ستون ها
List<string> ColNameList = new List<string>();
//پر کردن لیست نام
foreach (DataRow aRow in dtRes.Rows)
ColNameList.Add(aRow[@"COLUMN_NAME"].ToString());
//تبدیل به آرایه در صورت نیاز
string[] Names = ColNameList.ToArray();
bitcob589
شنبه 06 خرداد 1391, 16:46 عصر
آیا امکان وجود دارد با استفاده از sqlDAtaReader و با حلقه forech کد پست قبل را پیاده سازی کرد
فرید نجفلو
شنبه 06 خرداد 1391, 16:58 عصر
سلام
کار نشد نداریم!
البته الان این کد خودش با حلقه کار می کنه در مورد دیا ریدر هم مشکلی نیست ولی دیتاتیبل ا از نظر کار با دیتابیس ارجحیت دارن چون دیتا ریدر سربار بیشتری روسرور داره و نقاط ضعف های دیگه ای هم هست
شما بگید دقیقا چی می خواید بنویسید تا راهنمایی متناسب بگیرید
bitcob589
شنبه 06 خرداد 1391, 17:22 عصر
سلام
کار نشد نداریم!
البته الان این کد خودش با حلقه کار می کنه در مورد دیا ریدر هم مشکلی نیست ولی دیتاتیبل ا از نظر کار با دیتابیس ارجحیت دارن چون دیتا ریدر سربار بیشتری روسرور داره و نقاط ضعف های دیگه ای هم هست
شما بگید دقیقا چی می خواید بنویسید تا راهنمایی متناسب بگیرید
نحوه نوشتن کد پست 3 با استفاده از sqlDAtaReader
فرید نجفلو
شنبه 06 خرداد 1391, 17:54 عصر
بفرمایید:
//دستور دریافت اطلاعات ستون ها
//اطلاعات بیشتری نیز می توانید با این دستور بدست آوید - با گذاشتن * در دستور
string TSQL = @"SELECT
COLUMN_NAME
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_NAME = 'Table1'";
//نتیجه دستور
DataTable dtRes = new DataTable();
SqlConnection Conn = new SqlConnection(@"Data Source=.;Initial Catalog=test;Integrated Security=True");
SqlCommand cmd = Conn.CreateCommand();
cmd.CommandText = TSQL;
Conn.Open();
SqlDataReader dr = cmd.ExecuteReader();
//لیست نام ستون ها
List<string> ColNameList = new List<string>();
//پر کردن لیست نام
while (dr.Read())
ColNameList.Add(dr.GetString(0));
dr.Close();
if (Conn.State!=ConnectionState.Closed)
Conn.Close();
//تبدیل به آرایه در صورت نیاز
string[] Names = ColNameList.ToArray();
vBulletin® v4.2.5, Copyright ©2000-1403, Jelsoft Enterprises Ltd.