PDA

View Full Version : مشکل در insert کردن linq



mehran788
سه شنبه 01 دی 1394, 09:00 صبح
سلام. خسته نباشید
پساپس شب یلداتون هم مبارک :چشمک:

من برای اولین بار می خوام با linq کار کنم ولی insert نمیکنه. مشکل اینجاس نه خطا میده نه چیزی و کد اجرا میشه ولی تو جدول چیزی نیسیت
این هم کد هام:
private void btnaddfinish_Click(object sender, EventArgs e) {
UnityDataContext unit = new UnityDataContext();
tblstuff tbl = new tblstuff();
tbl.Mojodi = "mmm";
tbl.Name = "sss";
unit.tblstuffs.InsertOnSubmit(tbl);
unit.SubmitChanges();
}

این هم تصویر ارتباط هام:
137583
ممنونم از وقتی که میذارید

saeedr22
سه شنبه 01 دی 1394, 09:09 صبح
لطفا کانکشن استرینگتونو ببینیم.

mehran788
سه شنبه 01 دی 1394, 09:32 صبح
من از sqlexpress استفاده کردم و با server explorer به بان وصل شدم این هم کانکشن استرینگ:
Data Source=(LocalDB)\v11.0;AttachDbFilename=D:\program ing\vahed\vahed\Database1.mdf;Integrated Security=True

mehran788
شنبه 05 دی 1394, 09:18 صبح
دوستان کسی نتونست ه من کمک کنه؟

saeedr22
شنبه 05 دی 1394, 11:07 صبح
(LocalDB) با sql express فرق میکنه.لطفا کانکشن استرینگتونو به صورت زیر تغییر بدین.
<add name="SMMContext"
providerName="System.Data.SqlClient"
connectionString="Data Source=.\SMMEXPRESS; AttachDbFilename=|DataDirectory|\SMMDb.mdf; Integrated Security=True;User Instance=True;" />

mehran788
یک شنبه 06 دی 1394, 08:26 صبح
خیلی ممنون از راهنماییتون
ولی من این کانکشن استرینگ رو چطور باید تغییر بدم؟ چون تو linq که از sqlconnection استفاده نمی کنیم و هیچ کانکشنی ایجاد نمی کنیم.این کانکشن استرینگ رو هم من از server explorer خونم و اینجا نوشتم ولی اونجا هم نمیشه کانکشن استرینگ رو عوض و اگه بشه هم فکر نکنم روی خود برنامه تاثیر بذاره
میشه بیشتر توضیح بدید؟ممنون
137693

mehran788
یک شنبه 06 دی 1394, 12:22 عصر
نمی دونم مشکل از مجاست ولی وقتی با این تابع آخرین id رو میگیرم درست کار می کنه ولی تو insert عمل نمی کنه
public void idnum() {
int c1 = 0;
DataClasses1DataContext bank = new DataClasses1DataContext();
var query = from p in bank.tblMeasures
select new { c1 = p.Id };
txtname.Tag = (query.Max(p => p.c1 + 1)).ToString();
}

omidamiry
یک شنبه 06 دی 1394, 13:49 عصر
سلام مشکلتون خیلی ساده است

وقتی تیبل می سازید باید از نوع تیبل های داخل دیتا بیس بسازید

دقت داشته باشید ایا تیبل یا کلاس تیبل به دیتا بیس اتصال داره

mehran788
دوشنبه 07 دی 1394, 07:19 صبح
حقیقتش اصلا متوجه نشدم منظورت چیه.
تو بانک اطلاعاتی من به غیر از Id ها که int هست باقی رو nvarchar(50) می زارم .
و چجوری باید اتصال کلاس تیبل رو با دیتا بیس بررسی کنم؟ همونطور که گفتم وقتی آخرین Id رو می خوام بهم میده ولی insert نمی کنه

mehran788
چهارشنبه 09 دی 1394, 08:51 صبح
دوستان کسی مشکل من رو بلد نبود؟

mehran788
سه شنبه 15 دی 1394, 09:50 صبح
دوستان لطفا راهنمایی کنید

vB.N3T
سه شنبه 15 دی 1394, 10:20 صبح
شما جدول tblstuff را به این صورت تغیر بده فیلد هاشو .بعد درج کن
یه فیلد ایدی اضافه کنید..اونو کلید اصلی کنید و از قسمت column properties
قسمت identity specification باز کنید و identity رو برابر yes قرار بدین
بعد یه مرتبه جدولتون رو از قسمت DataClasses1.پاک کنید و دوباره اضافش کنید

mehran788
سه شنبه 15 دی 1394, 10:48 صبح
شما جدول tblstuff را به این صورت تغیر بده فیلد هاشو .بعد درج کن
یه فیلد ایدی اضافه کنید..اونو کلید اصلی کنید و از قسمت column properties
قسمت identity specification باز کنید و identity رو برابر yes قرار بدین
بعد یه مرتبه جدولتون رو از قسمت DataClasses1.پاک کنید و دوباره اضافش کنید


من این کارو کردم
جدول من دارای یه فیلد id هست که خاصیت identity specification هم true هست
ولی کار نمی کنه

vB.N3T
سه شنبه 15 دی 1394, 11:19 صبح
پروژتونو اپلود کنین برسی کنیم

mehran788
چهارشنبه 16 دی 1394, 09:26 صبح
http://s6.picofile.com/file/8231885550/Linqsample.rar.html
خیلی ممنون از لطفتون

saeedr22
چهارشنبه 16 دی 1394, 11:49 صبح
دوست عزیز شما تو پروژتون دوتا فایل دیتا بیس دارین.اطلاعات تو اونیکی تو پوشه bin قزار داره ذخیره میشه

mehran788
چهارشنبه 16 دی 1394, 12:35 عصر
خیلی ممنون دوست عزیز
لطف کردی

vB.N3T
چهارشنبه 16 دی 1394, 13:31 عصر
دوست عزیز مشکل شما این بود که نوع دیتا بیس رو از نوع mdf ساختین
در LINQ باید جداول از نوع dbo باشن
برای ساخت این جداول از server explorer از data connections راست کلیک کن و cerate new SQL... انتخاب کن و در پنجره بعدی در server name
.\sqlexpress را وارد کن و در پایین هم نام دیتا بیس
به این صورت دیگه مشکلی نداری

پروژه اصلاح شده شما (http://s3.picofile.com/file/8231928300/Linqsample.rar.html)

khokhan
چهارشنبه 16 دی 1394, 15:36 عصر
http://s6.picofile.com/file/8231885550/Linqsample.rar.html
خیلی ممنون از لطفتون

کافی بود بر روی فایل دیتابیس در solution explorer کلیک کنی ودر قسمت پراپرتی مربوط به اون گزینه copy to output directory رو بگذاری روی Copy if newer ........... همین تموم شد