PDA

View Full Version : درج نشدن اطلاعات در بانک



adineh67
شنبه 01 شهریور 1393, 19:35 عصر
سلام
من بانک اطلاعاتیمو با sql خود ویژوال درست کردم دستورات insert,update و ... به صورت store procedure درآوردم از linq هم به عنوان رابط بین بانک و فرمها استفاده میکنم موقع درج همه فیلدها مقدار میگیرن ولی توی جدولم هیچی ذخیره نمیشه هیچ اروری هم نمیده دلیل چی میتونه باشه؟ممنون میشم راهنماییم کنید.

parvizwpf
شنبه 01 شهریور 1393, 21:38 عصر
برای کدتون try catch با exception بذارید تا دلیل رو بفهمید

adineh67
یک شنبه 02 شهریور 1393, 09:24 صبح
برنامه درست داره کار میکنه فرضا یه کاربر جدید تعریف میکنم تا برنامه باز هست با مشخصات همون کاربر لاگین میکنم اما وقتی برنامه رو میبندم داده ها تو بانگ ذخیره نشدن و دیگه برنامه نمیشناسشون
مشکل از چیه؟

parvizwpf
یک شنبه 02 شهریور 1393, 09:47 صبح
از try catch استفاده فرمودید؟ اگه نیست دیگه کد رو بگذارید

adineh67
یک شنبه 02 شهریور 1393, 10:10 صبح
دوست عزیز کد درست هست قبلا بانکمو تو sql درست کرده بودم و این کد به خوبی جواب میداد اما الان که با sql خود ویزوال دارم کار میکنم این مشکل پیش اومده

danialafshari
یک شنبه 02 شهریور 1393, 11:56 صبح
با سلام
فکر م کنم در محیط Vs شما بانک وجود داره و Copy Local برابر True هست! در این صورت بعد از هر اجرا بانک نوسازی میشود و اطلاعات پاک میشوند
Copy Local را برابر False قرار دهید
موفق باشید

adineh67
یک شنبه 02 شهریور 1393, 13:06 عصر
با سلام
فکر م کنم در محیط Vs شما بانک وجود داره و Copy Local برابر True هست!

بانکمو تو خود ویژوال درست کردم اگه منظورتون copy local بخش references هست مقدارش برابر false هست ممنون میشم دقیقتر راهنماییم کنید

danialafshari
یک شنبه 02 شهریور 1393, 13:43 عصر
بانکمو تو خود ویژوال درست کردم اگه منظورتون copy local بخش references هست مقدارش برابر false هست ممنون میشم دقیقتر راهنماییم کنید

زیر Refrence دقیقاً روی خود دیتابیس
قبلش SP ها رو Execute کنید ببنید insert, Update ,Del میکنن؟
بهتره یک نمونه سورس قرار دهید

adineh67
یک شنبه 02 شهریور 1393, 14:03 عصر
spهامو اجرا کردم جواب میدن دیتابیس خصوصیتی به اسم copy local نداره

adineh67
یک شنبه 02 شهریور 1393, 20:06 عصر
استور پروسیجرم اینه:


CREATE PROCEDURE InsertUserInfo
@User nvarchar(50),
@Pass nvarchar(50)
AS
SET NOCOUNT ON
insert into UserInfo(UserName,PassWord) values (@User,@Pass)
RETURN

و کد ارتباط با linq در برنامه:



public void InsertUser(string User, string Pass)
{
SMDB.InsertUserInfo(User, Pass);
SMDB.SubmitChanges();
}

adineh67
یک شنبه 02 شهریور 1393, 20:10 عصر
راستی اینم بگم که استورپروسیجر select بدرستی جواب میده واسه insert این مشکل پیش میاد

adineh67
چهارشنبه 05 شهریور 1393, 02:40 صبح
دوستان کسی نمی تونه راهنمایی کنه؟
آخه مشکل چیه که میتونه از بانک بخونه ولی نمیتونه توش بنویسه؟!!!:متفکر:

parvizwpf
چهارشنبه 05 شهریور 1393, 09:21 صبح
شما وقتی با LINQ کار میکنید چرا برای اینسرت sp نوشتید مستقیم اینسرت کنید خب.

adineh67
چهارشنبه 05 شهریور 1393, 12:56 عصر
آخه با sp کدنویسیم کمتر میشه و مرتب تر
میتونم مستقیم بنویسم ولی یه جورایی به جواب نرسیدم فقط صورت مسئله رو پاک کردم

Iran58
چهارشنبه 05 شهریور 1393, 14:30 عصر
سلام
#region InsertSeconder
public void InsertSeconder()
{
var db = new CameraDataClassesDataContext();
db.sp_Seconder_Insert(PerssonalId, Fn, 1);
}
#endregion
برای کلاسم نوشته ام و برای فرم هم
int ROWID = dgvList.CurrentRow.Index;
if (NameForm == "Seconder")
{
try
{
lp.PerssonalId = dgvList[1, ROWID].Value.ToString();
lp.Fn = dgvList[2, ROWID].Value.ToString();
lp.InsertSeconder();
MSBox.Show("داده با موفقیت ثبت شد");
this.Close();
}
catch (Exception)
{
MSBox.Show("داده تکراری می باشد");
txtName.Focus();
txtName.ResetText();
}
}
ببین فقط id برای جدولت قرارداده ای یانه ؟

adineh67
چهارشنبه 05 شهریور 1393, 19:45 عصر
دوست عزیز کدم مثل همینه فقط من id رو تنظیم کردم که خودش خودکار مقدار بگیره و من نخوام مقدار بهش بدم واسه همین تو دستور اینسرتم نیاوردمش

Iran58
پنج شنبه 06 شهریور 1393, 07:36 صبح
دوست عزیز کدم مثل همینه فقط من id رو تنظیم کردم که خودش خودکار مقدار بگیره و من نخوام مقدار بهش بدم واسه همین تو دستور اینسرتم نیاوردمش

باسلام
spشما بنظرم مشکل داره
به شکل زیر اصلاح کنید درست شود
ALTER Procedure [dbo].[sp_Seconder_Insert]
@PerssonalId char(8),
@FN nvarchar(50),
@Position_Fk tinyint
As
Begin
Insert Into Seconder
([PerssonalId],[FN],[Position_Fk])
Values
(@PerssonalId,@FN,@Position_Fk)

Declare @ReferenceID int
Select @ReferenceID = @@IDENTITY

Return @ReferenceID

End

adineh67
جمعه 07 شهریور 1393, 11:55 صبح
دوست عزیز کوئری هام مشکل ندارن چون وقتی اجراشون میکنم اطلاعات درج میشن
خودم فکر میکنم مشکل از بانک اطلاعاتیم هست چون من تا حالا با sql express کار نکرده بودم