PDA

View Full Version : سوال: تبديل متن به ديتاگريد



navid1n2000
سه شنبه 29 دی 1388, 20:03 عصر
من چطور مي تونم يك متن رو كه اطلاعاتش با ويرگول جدا شده چطور بذارم توي يك ديتاتيبل يا يك ديتاگريد
مثلا اينجوري:
45000000و100000و10و256256262
كه بعد وارد ديتا بيس كنم

sia_2007
سه شنبه 29 دی 1388, 20:52 عصر
اگر میخواهی همیشه این کار رو انجام بدی یک پکیج SSIS بهترین گزینه است؛ با توجه به این که میگی دیتابیس هم داری.
بی جهت هم نمیخواد کلی کدنویسی کنی.

CYCLOPS
سه شنبه 29 دی 1388, 20:56 عصر
اگر میخواهی همیشه این کار رو انجام بدی یک پکیج SSIS بهترین گزینه است؛ با توجه به این که میگی دیتابیس هم داری.
بی جهت هم نمیخواد کلی کدنویسی کنی.
دوست عزیز میشه اینی که گفتی رو یه توضیح بدی ؟؟ :متفکر:

sd.CSharpProgrammer
سه شنبه 29 دی 1388, 21:00 عصر
من چطور می تونم یک متن رو که اطلاعاتش با ویرگول جدا شده چطور بذارم توی یک دیتاتیبل یا یک دیتاگرید
مثلا اینجوری:
45000000و100000و10و256256262
که بعد وارد دیتا بیس کنم

دقیقاً عین همین چیزی که شما میخوای انجام بدی رو چند روز پیش یکی از دوستانم ازم خواست که برنامه اش رو براش نوشتم. ایمیلت رو بزار برنامه رو برات بفرستم.

البته ناگفته نماند که اونو به زبان VB.net نوشتم (خودش ازم خواست با وی بی باشه نه سی شارپ!). اگه نتونستی به سی شارپ تبدیلش کنی بگی خودم برات تبدیل کنم.

navid1n2000
سه شنبه 29 دی 1388, 21:16 عصر
دقیقاً عین همین چیزی که شما میخوای انجام بدی رو چند روز پیش یکی از دوستانم ازم خواست که برنامه اش رو براش نوشتم. ایمیلت رو بزار برنامه رو برات بفرستم.

البته ناگفته نماند که اونو به زبان VB.net نوشتم (خودش ازم خواست با وی بی باشه نه سی شارپ!). اگه نتونستی به سی شارپ تبدیلش کنی بگی خودم برات تبدیل کنم.
navidnikpey@yahoo.com
با سي شارپ
يك نمونه فايل متني هم ضميمه كردم

slashslash2009
سه شنبه 29 دی 1388, 22:01 عصر
با دستور split میتونی این کارئ انجام بدی .
به این کد هم توجه کن
if (textBox1.Text.ToString()[i] == 'و')

میخوای با حرف و جداشون کنی و بعد بزاری در یک گریدویو

CYCLOPS
چهارشنبه 30 دی 1388, 05:44 صبح
دقیقاً عین همین چیزی که شما میخوای انجام بدی رو چند روز پیش یکی از دوستانم ازم خواست که برنامه اش رو براش نوشتم. ایمیلت رو بزار برنامه رو برات بفرستم.

البته ناگفته نماند که اونو به زبان VB.net نوشتم (خودش ازم خواست با وی بی باشه نه سی شارپ!). اگه نتونستی به سی شارپ تبدیلش کنی بگی خودم برات تبدیل کنم.
دوست عزیز میشه همین جا بذاری تا بقیه هم ببینن ؟؟

sd.CSharpProgrammer
چهارشنبه 30 دی 1388, 08:40 صبح
دوست عزیز میشه همین جا بذاری تا بقیه هم ببینن ؟؟

دوست عزیز حجم فایل فشرده اش بیشتر از 2مگ هست به همین خاطر اینجا نمیشه آپلودش کرد. اگه مایل بودی شما هم ایمیل بذار برات ارسال کنم.

slashslash2009
چهارشنبه 30 دی 1388, 09:59 صبح
خوب بزار 4share آقای نوید هم که جواب نمیدن کجا هستن اصلا

CYCLOPS
چهارشنبه 30 دی 1388, 12:00 عصر
این راه بهتره ها :چشمک:

خوب بزار 4share
با این حال پیشاپیش ممنون :
cyclops.dll@gmail.com

debugger
چهارشنبه 30 دی 1388, 17:21 عصر
y_ashar@yahoo.com

tanx

slashslash2009
چهارشنبه 30 دی 1388, 18:03 عصر
اگر میخواید که این 6353و32323و2133و13444 به این
6353
32323
2133
13444
تبدیل بشه یعنی با حرف 'و' جدا بشن یا با هر خرف دیگه میتونم کمکتون کنم

ali.aghdam
چهارشنبه 30 دی 1388, 19:13 عصر
دوست عزیز من از (روش) 4share اطلاعی ندارم ولی قبلا این برنامه رو با روش زیر نوشتم.

ببینید به طور کلی کالمن ها در جدول ها از نوع تکست هستند
شما باید یک متغیر از نوع DataTable و یک متغیر دیگر از نوع DataColumnایجاد کنید سپس با استفاده از split رشته ها رو جدا کنید و داخل یک آرایه از رشته قرار بدید حالا به تعداد length آرایه در dataTable کالمن اضافه کنیدو سپس یک Row جدید در dataTable ایجاد کرده و حالا کافی است با یک حلقه به تعداد length آرایه ایجاد کرده سپس مقدار های متغیر را در کالمن های مر بوطه قرار دهید

در این صورت ما یک تیبل داریم که اون را می توانیم به دیتا گرید بدهیم.

من در حال حاضر به هیچ IDE دسترسی ندارم ولی اگه خیلی بهش نیاز داری و خودت نتونستی بهم پیام بده کدش رو برات بفرستم.

navid1n2000
چهارشنبه 30 دی 1388, 20:06 عصر
سلام
برا من كه نفرستادين
خيلي فوري بود ها
navidnikpey@yahoo.com

navid1n2000
چهارشنبه 30 دی 1388, 20:08 عصر
دوست عزیز من از (روش) 4share اطلاعی ندارم ولی قبلا این برنامه رو با روش زیر نوشتم.

ببینید به طور کلی کالمن ها در جدول ها از نوع تکست هستند
شما باید یک متغیر از نوع DataTable و یک متغیر دیگر از نوع DataColumnایجاد کنید سپس با استفاده از split رشته ها رو جدا کنید و داخل یک آرایه از رشته قرار بدید حالا به تعداد length آرایه در dataTable کالمن اضافه کنیدو سپس یک Row جدید در dataTable ایجاد کرده و حالا کافی است با یک حلقه به تعداد length آرایه ایجاد کرده سپس مقدار های متغیر را در کالمن های مر بوطه قرار دهید

در این صورت ما یک تیبل داریم که اون را می توانیم به دیتا گرید بدهیم.

من در حال حاضر به هیچ IDE دسترسی ندارم ولی اگه خیلی بهش نیاز داری و خودت نتونستی بهم پیام بده کدش رو برات بفرستم.
اگه کدشو بذارین خیلی خوب میشه

CYCLOPS
چهارشنبه 30 دی 1388, 20:16 عصر
دوست عزیز من از (روش) 4share اطلاعی ندارم ولی قبلا این برنامه رو با روش زیر نوشتم.

ببینید به طور کلی کالمن ها در جدول ها از نوع تکست هستند
شما باید یک متغیر از نوع DataTable و یک متغیر دیگر از نوع DataColumnایجاد کنید سپس با استفاده از split رشته ها رو جدا کنید و داخل یک آرایه از رشته قرار بدید حالا به تعداد length آرایه در dataTable کالمن اضافه کنیدو سپس یک Row جدید در dataTable ایجاد کرده و حالا کافی است با یک حلقه به تعداد length آرایه ایجاد کرده سپس مقدار های متغیر را در کالمن های مر بوطه قرار دهید

در این صورت ما یک تیبل داریم که اون را می توانیم به دیتا گرید بدهیم.

من در حال حاضر به هیچ IDE دسترسی ندارم ولی اگه خیلی بهش نیاز داری و خودت نتونستی بهم پیام بده کدش رو برات بفرستم.

4share روش خاصی نیست :لبخندساده: سایت برای آپلود فایل هست (http://www.4shared.com/) منظور دوستمون این بود که چون حجمش از 2 مگ بیشتره اونجا آپلود کن تا بقیه دانلود کنن
ممنون توضیحاتت کامل بود متوجه شدم جریان از چه قراره :تشویق:


اگه کدشو بذارین خیلی خوب میشه
توضیحات دوستان مشخص هست یه مقدار تلاش کن هر جا مشکل خوردی بپرس
موفق باشی :چشمک:

ehsan2007
پنج شنبه 01 بهمن 1388, 00:25 صبح
این کدو ببین من تحت وب نوشتم و برای استریپروسیجر میفرستم داده هارو که آپدیت میکنه


int I = 0;
string _D = null;
string _DarID = Request.QueryString["DarID"].ToString();
string _SalID = Request.QueryString["SalID"].ToString();
string _TerID = Request.QueryString["TerID"].ToString();
string[] List = Request.QueryString["Nomre"].ToString().Split("|".ToCharArray());
SqlConnection Cnn = new SqlConnection(System.Configuration.ConfigurationMa nager.ConnectionStrings["ConnectionString"].ConnectionString);
while (I < List.Length - 1)
{
string[] List2 = List[I].ToString().Split("*".ToCharArray());
if (List2[0] == "") { List2[0] = "null"; }
_D = "EXEC SPR_Nomarat_by_Name_Update @MadrID = " + Session["UserModirRa"].ToString() + " ,@Nomre = " + List2[0] + " ,@DanID = " + List2[1] + ",@SalID= " + _SalID + ",@DarID = " + _DarID + ",@TerID=" + _TerID;
SqlCommand Cmd = new SqlCommand(_D, Cnn);
try
{
Cnn.Open();
Cmd.ExecuteNonQuery();
}
catch (SqlException)
{
Response.Write('1'); return;// qeury error
}
catch (Exception)
{
Response.Write('2'); return;// program error
}
finally
{
Cnn.Close();
if (Cmd != null) Cmd.Dispose();
}
I++;
}

navid1n2000
پنج شنبه 01 بهمن 1388, 10:36 صبح
هزار بار ايميلمو چك كردم
خيري نيست

navid1n2000
پنج شنبه 01 بهمن 1388, 10:57 صبح
خبری نشد
خودم دست به کار شدم
این تعاریف منه


string[] lines;
DataTable dt;
DataColumn dc;

اینم کد اولیه من


lines = newstring[System.IO.File.ReadAllLines(@"E:\2.txt").Length];
lines = System.IO.File.ReadAllLines(@"E:\2.txt");
String[] t = lines[0].Split(',');

الان من رشته مو تيكه تيكه دارم
حالا چطور بريزم توي يك datatable ‌تا ببرمش توي ديتابيسم

navid1n2000
پنج شنبه 01 بهمن 1388, 11:10 صبح
يه مشكل ديگه هم هست
اين اون فايل متني منه
3001,5625250,432,10,2000000,3400000
3002,5625264,432,10,4000000,4500000
3003,5625289,432,10,6000000,8700000
3004,5629251,432,10,8600000,4500000
3005,5625256,432,10,3500000,9000000
اون كدي كه من نوشتم براي يك خطشه
خطهاي ديگه شو چطور ذخيره كنم
آرايه دو بعدي؟؟؟؟؟؟؟؟؟
چطوري ميشه

slashslash2009
پنج شنبه 01 بهمن 1388, 11:40 صبح
تعداد خطها رو بدست بیار بعدش در یک حلقه خط مثلا i با split جدا کن

Line[i]

FastCode
پنج شنبه 01 بهمن 1388, 12:10 عصر
internal DataTable read()
{
DataTable dt = new DataTable();
dt.Columns.Add("column1", typeof(int));
dt.Columns.Add("column2", typeof(int));
dt.Columns.Add("column3", typeof(int));
dt.Columns.Add("column4", typeof(int));
dt.Columns.Add("column5", typeof(int));
dt.Columns.Add("column6", typeof(int));
foreach (string line in System.IO.File.ReadAllLines(@"E:\2.txt"))
{
string[] s = line.Split(',');
dt.Rows.Add(s[0], s[1], s[2], s[3], s[4], s[5]);
}
return dt;
}

navid1n2000
پنج شنبه 01 بهمن 1388, 17:54 عصر
حالا اينو چجوري وارد يك ديتابيس كنم
يعني اونجا بگرده شماره عضويتو پيدا كنه و مبالغ رو update‌كنه

ali.aghdam
پنج شنبه 01 بهمن 1388, 22:42 عصر
چی کار کنم من؟؟؟؟؟؟؟؟؟؟؟؟

دوست عزیز تنها کاری که شما باید بکنی اینه که بری از اول شروع کنی همه چیزو یاد بگیری اینقدرم مردمو سر کار نزاری :عصبانی:

slashslash2009
جمعه 02 بهمن 1388, 00:33 صبح
خوب حالا که یک تیبل داری به نام dt در یک دیتاگرید نشونش بده بعدش از دیتاگرید بریز یعنی insert کن تو دیتابیست یعنی در جدول اصلیت. البته فکر کنم بشه یک جا تیبل dt رو بریزی در دیتابیست ولی من بلد نیستم اگر کسی بلده همینجا بگه مرسی

navid1n2000
جمعه 02 بهمن 1388, 09:25 صبح
دوست عزیز تنها کاری که شما باید بکنی اینه که بری از اول شروع کنی همه چیزو یاد بگیری اینقدرم مردمو سر کار نزاری :عصبانی:
ممنون از پيشنهادتون
من همه كارامو كردم
فقط مونده از اين ديتا تيبل داده بريزم توي ديتا ست
كسي رو هم سر كار نذاشتم
با اين حرفاتم كاري نكنين تاپيكو ببندن

tabriz3edu
یک شنبه 11 مهر 1389, 18:44 عصر
دوست عزیز حجم فایل فشرده اش بیشتر از 2مگ هست به همین خاطر اینجا نمیشه آپلودش کرد. اگه مایل بودی شما هم ایمیل بذار برات ارسال کنم.
----------------------------
با سلام لطفا تبديل متن با جداكننده ويرگول را كه درگريد نشان دهد برايم ايميل كنيدtabriz3edu@yahoo.com (كنيدtabriz3edu@yahoo.com)

samin_panahi
یک شنبه 18 خرداد 1393, 16:37 عصر
خوب حالا که یک تیبل داری به نام dt در یک دیتاگرید نشونش بده بعدش از دیتاگرید بریز یعنی insert کن تو دیتابیست یعنی در جدول اصلیت. البته فکر کنم بشه یک جا تیبل dt رو بریزی در دیتابیست ولی من بلد نیستم اگر کسی بلده همینجا بگه مرسی

سلام
کسی می دونه چطور باید این کار رو انجام بدیم؟