PDA

View Full Version : چند سوال درباره LINQ و Datagridview



Reza1607
دوشنبه 11 مرداد 1389, 17:55 عصر
سلام دوستان
كسي مي تونه اين كد C#‎‎ رو به vb تبديل كنه آخه من خيلي حرفه اي نيستم و نتونستم





NewsDataContext db=new NewsDataContext();

TBLNews news=db.TBLNews.Single(n => n.NewsID == convert.ToInt32(e.commandArgument));


و يك سوال ديگه هم داشته آقا من يك جدول با sql 2005 ساختم و اطلاعاتش رو با يك datagrid بايند كردم ولي اون فيلدهايي كه مقدار بزرگي دارند ( از نظر طول) در آخر سلولشون ... قرار مي گيره عكس رو ضميمه كردم مي خواستم بدونم چي كار كنم تا اون ... نياد

http://barnamenevis.org/forum/attachment.php?attachmentid=53508&stc=1&d=1282575114

ricky22
دوشنبه 11 مرداد 1389, 18:25 عصر
Dim db As New NewsDataContext()

Dim news As TBLNews = db.TBLNews.[Single](Function(n) n.NewsID = convert.ToInt32(e.commandArgument))



برای تبدیل از این سایت استفاده کن
http://www.developerfusion.com/tools/convert/csharp-to-vb/

nasim bahari
دوشنبه 11 مرداد 1389, 18:34 عصر
سلام........

برای تبدیل کدهای C# به VB.Net .می تونی از نرم افزاری که آدرسش رو گذاشتم استفاده کنی .........


http://alimanam.persiangig.com/Zip%20Files/Instantvbcrk.rar

برو حالشو ببر...:لبخند:

hero4000
سه شنبه 12 مرداد 1389, 09:01 صبح
يك سوال ديگه هم داشته آقا من يك جدول با sql 2005 ساختم و اطلاعاتش رو با يك datagrid بايند كردم ولي اون فيلدهايي كه مقدار بزرگي دارند ( از نظر طول) در آخر سلولشون ... قرار مي گيره عكس رو ضميمه كردم مي خواستم بدونم چي كار كنم تا اون ... نياد

دوست عزيز مشکل گذاشتن .... در آخر فيلدهاتون از نوع تعريف متغيرتون توي Sql2005 ناشي ميشه

شما نوعي از Text رو انتخاب کردين که اگه حروف وارده کوچکتر از طول فيلد تعريفي بود اونوقت مابقيش رو Space بذاره

Reza1607
سه شنبه 12 مرداد 1389, 10:33 صبح
دوست عزيز مشکل گذاشتن .... در آخر فيلدهاتون از نوع تعريف متغيرتون توي Sql2005 ناشي ميشه

شما نوعي از Text رو انتخاب کردين که اگه حروف وارده کوچکتر از طول فيلد تعريفي بود اونوقت مابقيش رو Space بذاره
سلام
ممنون که جواب سوال رو دادید
ولی من خودم این موضوع رو می دونستم من نوع فیلدهام رو از نوع nvarchar , varchar , char گرفته با یک طول خاص مثلا 50 ولی بازم اون ... می یاد من می خوام بدونم چه جوری میشه اون ... دیگه نیاد یا فیلدها مو از چه نوعی بگیرم تا ... نیاد
از تمام دوستانی که جواب من رو دادند ممنون

Mani_rf
سه شنبه 12 مرداد 1389, 12:30 عصر
موقع فراخوانی اطلاعات از دیتابیس اگر Bind نکردی تو برنامه با فرمان Trim فضا های خالی را حذف کن اگر کاره دیگه کردی موقع فراخانی در کد های SQL اون فیلد های رشته را تو توابع Ltrim ,Rtim بگذار تا مشکلت حل بشه.

Reza1607
سه شنبه 12 مرداد 1389, 12:48 عصر
موقع فراخوانی اطلاعات از دیتابیس اگر Bind نکردی تو برنامه با فرمان Trim فضا های خالی را حذف کن اگر کاره دیگه کردی موقع فراخانی در کد های SQL اون فیلد های رشته را تو توابع Ltrim ,Rtim بگذار تا مشکلت حل بشه.

من بعد از این که برنامه اجرا شد و با کلیک بروی یک دکمه اطلاعات رو Bind می کنم
بعد چه جوری تو کد sql این Rtrim , Ltrim رو بذارم
در ضمن از می خوام LINQ استفاده کنم
ممنون که جواب می دین

Mani_rf
سه شنبه 12 مرداد 1389, 16:08 عصر
من بعد از این که برنامه اجرا شد و با کلیک بروی یک دکمه اطلاعات رو Bind می کنم
بعد چه جوری تو کد sql این Rtrim , Ltrim رو بذارم
در ضمن از می خوام LINQ استفاده کنم
ممنون که جواب می دین

برای استفاده از Ltrim , RTrim در SQL به این شکل :

Select LTrim(Rtrim(FildName)) From Table

در LINQ فرمان Trim هم هست که من تو SQL به طور مستقیم پیدا نکردمش ، برای استفاده از Trim در LINQ:


Table.FildName.Trim()

hero4000
پنج شنبه 14 مرداد 1389, 09:06 صبح
نقل قول:نوشته شده توسط hero4000
دوست عزيز مشکل گذاشتن .... در آخر فيلدهاتون از نوع تعريف متغيرتون توي Sql2005 ناشي ميشه

شما نوعي از Text رو انتخاب کردين که اگه حروف وارده کوچکتر از طول فيلد تعريفي بود اونوقت مابقيش رو Space بذاره

سلام
ممنون که جواب سوال رو دادید
ولی من خودم این موضوع رو می دونستم من نوع فیلدهام رو از نوع nvarchar , varchar , char گرفته با یک طول خاص مثلا 50 ولی بازم اون ... می یاد من می خوام بدونم چه جوری میشه اون ... دیگه نیاد یا فیلدها مو از چه نوعی بگیرم تا ... نیاد
از تمام دوستانی که جواب من رو دادند ممنون


دوست عزيز شما با تريم کردن سرعت اجراي برنامت رو ميگيري

شما وقتي داده رو از نوع nvarchar تعريف ميکني موقعي که اطلاعات وارد ميکني خودش به اندازه طول فيلد فضاي خالي ميذاره

حالا شما اومدي نوعت رو عوض کردي و varchar گذاشتي ولي اون فضاهاي خالي که گذاشته شده بودند پاک که نميشه شما از اون به بعد هر اطلاعاتي که وارد کني بدون فضاي خالي اضافي وارد ميشه و خودت دستي بايد اطلاعات قبلي رو اصلاح کني

بازم سوالي بود در خدمتم

Mani_rf
پنج شنبه 14 مرداد 1389, 20:01 عصر
دوست عزيز شما با تريم کردن سرعت اجراي برنامت رو ميگيري

شما وقتي داده رو از نوع nvarchar تعريف ميکني موقعي که اطلاعات وارد ميکني خودش به اندازه طول فيلد فضاي خالي ميذاره

حالا شما اومدي نوعت رو عوض کردي و varchar گذاشتي ولي اون فضاهاي خالي که گذاشته شده بودند پاک که نميشه شما از اون به بعد هر اطلاعاتي که وارد کني بدون فضاي خالي اضافي وارد ميشه و خودت دستي بايد اطلاعات قبلي رو اصلاح کني

بازم سوالي بود در خدمتم

قبول دارم که سرعت را کاهش میده اما اونقدر چشمگیر نیست!!! مخصوصا که اگر تو Query ، SQL این کار انجام بشه.

اما در صورتی که امکان تغییر نوع داده در دیتابیس را داری این روش بهتر، کارا تر و اصولی تره.
:تشویق: