PDA

View Full Version : ذخیره نشدن اطلاعات در پایگاه داده



zeous1
دوشنبه 15 خرداد 1391, 20:27 عصر
سلام

من با linq و به کمک stored procedure میخوام یه سری اطلاعات رو توی پایگاه داده ذخیره کنم، همه کارا درست پیش میره ولی هیچ اطلاعاتی توی پایگاه داده ذخیره نمیشه
اینم کدی هست که من ازش استفاده کردم:
stored procedure :
CREATE PROCEDURE dbo.AddPerson
@FirstName nvarchar(20),
@LastName nvarchar(30),
@identityCode nchar(15),
@Address nvarchar(255),
@PhoneNo nchar(15)
AS
INSERT INTO dbo.Person_table
VALUES(@FirstName,
@LastName,
@identityCode,
@Address,
@PhoneNo);

اینم کد سی شارپ :
var db = newDataClasses1DataContext();
db.AddPerson(
FirstName.Text,
LastName.Text,
IdentityCode.Text,
Address.Text,
PhoneNumber.Text);

جای دیگه از همین سایت نوشته بود برید توی مسیر پروژه بعدbin>debug فایل اجرایی پروژه رو اجرا کنید، انجام دادم ولی بازم همین مشکل وجود داره و اطلاعات ذخیره نمیشن، لطفن کمکم کنید

mahdi.bagheri
سه شنبه 16 خرداد 1391, 12:02 عصر
سلام دوست عزیز
کد LinQ اشتباه هستش، درستش اینه:


using (context = new DBDataContext())
{
var person = new Person
{
FirstName = FirstName.Text,
LastName = LastName.Text,
.
.
};
context.Person.InsertOnSubmit(person);
context.SubmitChanges();
}


همین رو هم میتونی توی تابعی که تعریف کردی استفاده کنی دوباره.

موفق باشی

zeous1
سه شنبه 16 خرداد 1391, 12:06 عصر
کسی جواب نداد!!!!!!!!!!
مشکلو پیدا کردم
یه دیتابیس دیگه ساختم و ایندفعه از درگ کردن برای ایجاد اتصال استفاده نکردم بلکه آدرس دیتابیس رو تو برنامم به کار بردم به صورت زیر

DataClasses1DataContext db = newDataClasses1DataContext(@"Data Source=ZEOUS-PC\SQLEXPRESS;initial catalog=DataBase2;Integrated Security=True");

و از دستورات linq برای اضافه کردن و ویرایش داده ها استفاده میکنم حالا اطلاعاتم رو ذخیره میکنه
به همین سادگی!!!!

zeous1
سه شنبه 16 خرداد 1391, 12:16 عصر
سلام دوست عزیز
کد LinQ اشتباه هستش، درستش اینه:


using (context = new DBDataContext())
{
var person = new Person
{
FirstName = FirstName.Text,
LastName = LastName.Text,
.
.
};
context.Person.InsertOnSubmit(person);
context.SubmitChanges();
}


همین رو هم میتونی توی تابعی که تعریف کردی استفاده کنی دوباره.

موفق باشی

ممنون از توجهت
من با stored procedure اطلاعاتم رو ذخیره کردم
و به تازگی دارم با linq و دستوراش کار میکنم
اون دستوری که آخرش میاد یعنی insertonsubmit و submitchanges چیکار میکنن؟!

mahdi.bagheri
سه شنبه 16 خرداد 1391, 12:31 عصر
این دستورات رو باید بنویسی تا تغییرات رو در دیتابیس ذخیره کنه.
فرقی نمی کنه، پروسیجرت رو هم که بصورت تابع بخوای استفاده کنی همین میشه.

omidh2007
شنبه 27 خرداد 1391, 11:47 صبح
اگه دیتابیس رو از طریق Add new item به پروژتون اضافه کنید ، موقع insert کردن ، ممکنه نتایج درست ثبت نشه .
کار بهتر اینه که توی Visual Studio از طریق Server Explorer دیتابیس پروژه رو بسازید یا Attach کنید .
(گرچه توی Query گرفتن فرقی ندارن دو روش . ولی بعضی وقت ها توی insert و update فرق میکنن .)