Clone کردن یک Table Schema


گاهی نیاز داریم که یک جدول با ساختار جدولی دیگر بسازیم، در چنین شرایطی جداول ما Table Schema کاملا مشابه هم دارند، یعنی فیلدهای یکسان و جزئیات یکسان.

روش اول
فرض کنیم که Table object الگوی ما با نام DT1 موجود است
dim DT2 as new datatable = DT1.Clone()
کد فوق یک table object جدید به نام DT2 با ساختار DT1 می سازد.

روش دوم
فرض کنیم که اصلا شیئ جدول الگو در code behind وجود ندارد و تنها خود جدول در SQL Server موجود می باشد و ما نیاز به یک Table Object با ساختار آن جدول موجود در SQL Server داریم:

Dim dt as new datatable
Dim ad as new sqlclient.sqldataadapter(“select top 0 * from MyTable”,”connection string”)
Ad.fill(tb)
ملاحظه کردید که top 0 کمک می کند که فقط ساختار منتقل شود.

روش دریافت اطلاعات Table Schema

اگر نیاز داشته باشیم که اطلاعاتی از ساختار یک جدول بدست بیاوریم می توانیم از Method های Datareader استفاده کنیم، در مثال زیر مجموعه از این اطلاعات را در یک Grid نمایش داده ام.

SqlConnection cn = new System.Data.SqlClient.SqlConnection("xxx");
            SqlCommand cmd = new SqlCommand("Select * from categories", cn);
            cn.Open();
            SqlDataReader dr = cmd.ExecuteReader(System.Data.CommandBehavior.SchemaOnly);
            System.Data.DataTable tbl = dr.GetSchemaTable();
            cn.Close();
            GridView1.DataSource = tbl;
            GridView1.DataBind();

هیچ نظری موجود نیست: