با سلام
چگونه می توان تعداد فیلدهای دیتابیس شمارش کرد در یک آرایه از نوع string ذخیره کرد
با سلام
چگونه می توان تعداد فیلدهای دیتابیس شمارش کرد در یک آرایه از نوع string ذخیره کرد
آخرین ویرایش به وسیله bitcob589 : جمعه 05 خرداد 1391 در 14:17 عصر
شمارش تعداد آن به صورت کد زیر توسط برنامه نویس مشخص نشود به ازای خواندن هر فیلد دیتابیس یکی به مقدار قبلی اضافه کند و در آرایه از نوع string ذخیره کند
string[] s = new string[30];
سلام
//دستور دریافت اطلاعات ستون ها
//اطلاعات بیشتری نیز می توانید با این دستور بدست آوید - با گذاشتن * در دستور
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();
آیا امکان وجود دارد با استفاده از sqlDAtaReader و با حلقه forech کد پست قبل را پیاده سازی کرد
سلام
کار نشد نداریم!
البته الان این کد خودش با حلقه کار می کنه در مورد دیا ریدر هم مشکلی نیست ولی دیتاتیبل ا از نظر کار با دیتابیس ارجحیت دارن چون دیتا ریدر سربار بیشتری روسرور داره و نقاط ضعف های دیگه ای هم هست
شما بگید دقیقا چی می خواید بنویسید تا راهنمایی متناسب بگیرید
بفرمایید:
//دستور دریافت اطلاعات ستون ها
//اطلاعات بیشتری نیز می توانید با این دستور بدست آوید - با گذاشتن * در دستور
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();