PDA

View Full Version : مشکل در کپی کردن data table



amir3321
یک شنبه 11 اسفند 1387, 11:25 صبح
با سلام من میخواستم بدونم چگونه میشود یک data table رو در یک data table دیگه کپی کرد
من یک دیتا ست رو از یک جدول از داخل پایگاه داده اس کیو ال پر میکنم حالا میخوام یک سری فیلد های اون رو حذف کنم و در یک دیتاتیبل دیگه بریزم و دوباره دیتاست رو با اون پر کنم و دیتاگرید خودم رو با اون بایند کنم .دلیل این کار هم اینه که من در داخل جدولم یکسری فیلد رشته ای دارم که باید داخل اون فیلد یک جستجو انجام بدم اگه درست بود در دیتاگرید نمایش بدم از مدیران بخش خواهش میکنم راهنمایی کنند. نمونه کد روبا تمام خرابکاریها میذارم و

string Today = Miladi2Shamsi(DateTime.Now);
maskedTextBox3.Text = Today;

DateTime todaydate = Convert.ToDateTime(Today);
int day1 = todaydate.Day;
int mount1 = todaydate.Month;
int year1 = todaydate.Year;
SqlConnection conect = new SqlConnection(Clssqlcon.conn);
conect.Open();
SqlDataAdapter da = new SqlDataAdapter("select * from ofcletdesc where"+

" letday = '"+day1+"' and "+
"letmounth = '"+mount1 +"' and "+
"letyear = '"+year1 +"'" , conect);

DataSet ds = new DataSet();
da.Fill(ds, "ofcletdesc");
conect.Close();

DataTable letnext = new DataTable () ;
//ds.Tables["table1"].TableName = "userletnext";
// ds.Tables.Add(letnext );
string user1;
string[] user2;
foreach (DataRow dnext in ds.Tables["ofcletdesc"].Rows)
{
user1 = dnext["userreciver"].ToString();
user2 = user1.Split(new char[] { '-' });
foreach (string user3 in user2)
{
if (user3 == clsmain.serialusr)
{
//ds.Tables["ofcletdesc"].Rows.Remove(dnext);
// {{
letnext.NewRow();
letnext.ImportRow(dnext);
//ds.Tables["letnext"].NewRow();
//ds.Tables["letnext"].Rows.Add(dnext);
// ds.Tables["ofcletdesc"].
}
}
}

//da.Dispose();
//SqlDataAdapter da2 = new SqlDataAdapter("select * from letnext");
ds.Clear();
da.Fill(ds, "letnext");

dataGridView1.DataSource = ds.Tables [1];
//dataGridView1.DataMember ="letnext";

amir3321
یک شنبه 11 اسفند 1387, 12:07 عصر
آقایان مدیر لطفا یک راهنمایی بفرمایید ...:گریه::گریه::گریه::گریه::گری ه::گریه::گریه::گریه::گریه:

amir3321
یک شنبه 11 اسفند 1387, 22:52 عصر
هیچکس نیست بابا یک کمکی بکنه فقط بگید چطور یک سطرهای یک دیتا تیبل رو تو یکی دیگه کپی کنم


:متفکر::متفکر::متفکر::متفکر:: تفکر::متفکر::متفکر::متفکر::م فکر:

mtaboy
دوشنبه 12 اسفند 1387, 00:02 صبح
فکر کنم دیتاست از چند تیبل پشتیبانی میکنه و شما می تونی چند تیبل در یک دیتاست داشته باشی و برای استفاده از هر کدوم از ایندکس استفاده کنی...

Editali
دوشنبه 12 اسفند 1387, 02:15 صبح
امیر جان، من 2 تا آبجکت از نوع دیتاست دارم

Dataset1 dataset11=new Dataset1();
Dataset1 dataset12=new Dataset1();

توی دیتاستم یه جدول به نام Table1 دارم.
میخوام این جدول رو از dataset11 تو dataset12 کپی کنم. بعد از پر کردن dataset11.Table1 باید dataset12.Table1 رو خالی کنم و با دستور پایین هرچیز رو که تو dataset11.Table1 دارم میریزم تو dataset12.Table1 .


dataSet12.Table1.Merge(dataSet11.Table1);

به همین راحتی. فقط دقت داسته باش که اگر توی dataSet12.Table1 چیزی از قبل باشه دیتای جدید بعد از اونا قرار میگیره.

موفق باشی

amir3321
جمعه 16 اسفند 1387, 20:31 عصر
با تشکر از دوست عزیزم ممنون ازجوابی که دادی
البته مشکل من رو درست متوجه نشدی من میخواستم روی یک دیتاتیبل یک سرچ انجام بدم و هر ردیفی که درست بود اونو داخل یک تیبل دیگه در همان دیتاست اضافه کنم
ولی من مشکل اصلی خودم رو پیدا کردم من میخواستم سطرهای از جدول در دیتابیس رو که در یک فیلد جستجو کنه اگر یک عبارت داخل اون فید سطر بود او نو نمایش بده که فهمیدم کارم از اول اشتباه بوده و با یک شرط کوچک که من بلد نبودم مشکل حل میشد همین شرط
charindex('string',fild)>0