تمام سوالات سوالات بدون پاسخ سوال بپرسید

سلام دوستان عزیز

من تونستم مشکلات قبلی رو حلش کنم ولی تازگی به مشکلی برخوردم که هر چی Break Point میزنم متوجه نمیشم داره چیکار میکنه من عمل ایجاد و حذف رو رو میتونم به خوبی و بدون مشکل انجام بدم ولی یه مشکلی توی ویرایش داده ها وجود داره نمیدونم توی سورس کدهاش هست یا از پروسجر هستش

این کدها مربوط به پروسجر بنده برای اپدیت جدول پرسنل هست .

ALTER PROCEDURE [dbo].[SP_EmployeeRegister_Update]
@Name nvarchar(50),
@NationalCode nvarchar(10),
@VaziatNum nvarchar(1),
@Shoghl nvarchar(20),
@Mobile nvarchar(13),
@Tel nvarchar(11),
@Tahsilat nvarchar(20),
@Address ntext,
@ShiftKariNum nvarchar(1),
@CodeEmployee nvarchar(11),
@EmployeePicAddress image,
@CodeRozhayeKari nvarchar(1)
AS
BEGIN
UPDATE [Library].[dbo].[EmployeeRegister]
   SET [Name] = @Name
      ,[NationalCode] = @NationalCode
      ,[VaziatNum] = @VaziatNum
      ,[Shoghl] = @Shoghl
      ,[Mobile] = @Mobile
      ,[Tel] = @Tel
      ,[Tahsilat] = @Tahsilat
      ,[Address] = @Address
      ,[ShiftKariNum] = @ShiftKariNum
      ,[EmployeePicAddress] = @EmployeePicAddress
      ,[CodeRozhayeKari] = @CodeRozhayeKari
 WHERE CodeEmployee = @CodeEmployee

END

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

در فرم پرسنل قسمت ریبون کامند اومده ادیت دیتا رو فراخوانی کرده. متد ادیت دیتا :

public void EditData()
    {
        if (GridEX_Main.CurrentRow != null)
        {
            MyClass.mode = "Edit";
            dfer.uC_EmployeeRegister1.Mode();
            dfer.uC_EmployeeRegister1.fillcombo();
            dfer.uC_EmployeeRegister1.FillData(GridEX_Main.Cur  rentRow.Cells["CodeEmployee"].Value.ToString());
            dfer.ShowDialog();
        }
    }

بعد به قسمت یوزر کنترل پرسنل رجوع میکنیم که به این صورت هست :

public void FillData(string ucode) 
  {
      if (ucode != null)
      {
          var lq = new LibraryDataDataContext();
          var dbu = lq.EmployeeRegisters.Where(c => c.CodeEmployee == ucode).First();
          txt_Name.Text = dbu.Name;
          txt_NationalCode.Text = dbu.NationalCode;
          cmb_Vaziat.SelectedValue = dbu.VaziatNum;
          txt_Shoghl.Text = dbu.Shoghl;
          txt_Mobile.Text = dbu.Mobile;
          txt_Tel.Text = dbu.Tel;
          txt_Tahsilat.Text = dbu.Tahsilat;
          txt_Address.Text = dbu.Address;
          cmb_ShiftKari.SelectedValue = dbu.ShiftKariNum;
          txt_CodeEmployee.Text = dbu.CodeEmployee;
          cmb_RozhayeKari.SelectedValue = dbu.CodeRozhayeKari;

      }
  }

و در اخر مربوط به متد دخیره و مدهاش هستش که در همون یوزرکنترل پرسنل وجود داره :

public bool save()
    {
        var lq = new LibraryDataDataContext();
        if (txt_Name.Text == "")
        {
            MessageBox.Show("???? ??? ?? ???? ??????");
            return false;
        }

        if (txt_NationalCode.Text == "")
        {
            MessageBox.Show("???? ?? ??? ???? ??????");
            return false;
        }

        if (txt_Mobile.Text == "")
        {
            MessageBox.Show("???? ????? ?????? ?? ???? ??????");
            return false;
        }
        if (txt_Address.Text == "")
        {
            MessageBox.Show("???? ???? ?? ???? ??????");
            return false;
        }

        string photoFilePath = openFileDialog1.FileName;

        byte[] photo_Employee;
        if (openFileDialog1.FileName != "")
        {
            photo_Employee = GetPhoto(photoFilePath);
        }
        else
        {
            MemoryStream ms = new MemoryStream();
            Photo.Image.Save(ms, Photo.Image.RawFormat);
            photo_Employee = ms.GetBuffer();
        }

        if (MyClass.mode == "New")
        {
            try
            {
                int h;
                h = lq.SP_EmployeeRegister_Insert(
                    txt_Name.Text,
                    txt_NationalCode.Text,
                    cmb_Vaziat.SelectedValue.ToString(),
                    txt_Shoghl.Text,
                    txt_Mobile.Text,
                    txt_Tel.Text,
                    txt_Tahsilat.Text,
                    txt_Address.Text,
                    cmb_ShiftKari.SelectedValue.ToString(),
                    txt_CodeEmployee.Text,
                    photo_Employee,
                    cmb_RozhayeKari.SelectedValue.ToString());
                MyClass.ID = h.ToString();
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }
        else
        {
            try
            {
                lq.SP_EmployeeRegister_Update((MyClass.ID),
                    txt_Name.Text,
                    txt_NationalCode.Text,
                    cmb_Vaziat.SelectedValue.ToString(),
                    txt_Shoghl.Text,
                    txt_Mobile.Text,
                    txt_Tel.Text,
                    txt_Tahsilat.Text,
                    txt_Address.Text,
                    cmb_ShiftKari.SelectedValue.ToString(),
                    photo_Employee,
                    cmb_RozhayeKari.SelectedValue.ToString());
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }
        return true;
    }

ممنون میشم از اساتید محترم یکی راهنماییم کنه و بگه که مشکل کار کجاست ممنونم از همگی

یعنی هیچ برنامه نویسی پیدا نمیشه که کمکم کنه ؟؟؟

(15 ژوئن '12, 15:52) eCarter
1

سلام
به نظر من شاید جواب ندادن دوستان به این علت باشه که مشکلتون رو درست بیان نکردین . مثلا گفتین که مشکلی در آپدیت وجود داره ولی دقیقا نگفتین چه مشکلی یا اگه پیغام خطایی وجود داره می نوشتین .

(15 ژوئن '12, 18:20) XhamidX

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

(15 ژوئن '12, 19:19) eCarter
1 پاسخ

سلام دوست عزیز ببینید تا جایی که از روی کد شما متوجه شدم می تونم بگم که ترتیب متغیرهای stored procedure شما با ترتیب آرگومان هایی که به آن ارسال شده متفاوته و شاید نوع آرگومان های مشخص شده هم با هم فرق می کنه!

ALTER PROCEDURE [dbo].[SP_EmployeeRegister_Update]
    @Name nvarchar(50), 
    @NationalCode nvarchar(10), 
    @VaziatNum nvarchar(1), 
    @Shoghl nvarchar(20), 
    @Mobile nvarchar(13), 
    @Tel nvarchar(11), 
    @Tahsilat nvarchar(20), 
    @Address ntext, 
    @ShiftKariNum nvarchar(1), 
    @CodeEmployee nvarchar(11),  ---> مورد اختلاف
    @EmployeePicAddress image, 
    @CodeRozhayeKari nvarchar(1) AS 
BEGIN 
    UPDATE [Library].[dbo].[EmployeeRegister] 
    SET [Name] = @Name,
        [NationalCode] = @NationalCode,
        [VaziatNum] = @VaziatNum,
        [Shoghl] = @Shoghl,
        [Mobile] = @Mobile,
        [Tel] = @Tel,
        [Tahsilat] = @Tahsilat,
        [Address] = @Address,
        [ShiftKariNum] = @ShiftKariNum,
        [EmployeePicAddress] = @EmployeePicAddress,
        [CodeRozhayeKari] = @CodeRozhayeKari 
    WHERE CodeEmployee = @CodeEmployee
END

و کد فراخوانی شده:

try
{
    lq.SP_EmployeeRegister_Update(
        (MyClass.ID), //مورد اختلاف
        txt_Name.Text,
        txt_NationalCode.Text,
        cmb_Vaziat.SelectedValue.ToString(),
        txt_Shoghl.Text,
        txt_Mobile.Text,
        txt_Tel.Text,
        txt_Tahsilat.Text,
        txt_Address.Text,
        cmb_ShiftKari.SelectedValue.ToString(),
        photo_Employee,
        cmb_RozhayeKari.SelectedValue.ToString());
}
catch (Exception ex)
{
    MessageBox.Show(ex.Message);
}

امیدوارم که کاربردی بوده باشه.

1

البته از روی این مواردی که شما گذاشتید بیشتر از این متوجه نشدم. اگر باز هم مشکلی وجود داره شاید بتونیم با دسترسی به کدهای بیشتر به نتیجه برسیم. ممنون و موفق باشید.

(15 ژوئن '12, 18:18) curious-ant

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

من از جانوس 4 استفاده میکنم : اینم لینک دانلودش. http://utilities.persiangig.com/Janus%20Sample/Janus.Windows.V4.zip

(15 ژوئن '12, 19:25) eCarter

اینم از بانک اطلاعاتیم (BackUp) اس کیو ال 2008

http://up98.org/upload/server1/02/j/05x09rzri3trp99ulp.rar

اینم برنامه من که با ویژوال 2010 نوشتم :

http://uploadkon.ir/?file=f66b5387eb6a5caf83e288dc659dd443.rar

(15 ژوئن '12, 19:25) eCarter

در مورد کدی که فرمودید من توی قسمت ور پروسجر آپدیتم اومدم کد پرسنلی رو گذاشتم بعد قسمت فراخوانی شده آپدیت کد پرسنلی که همون آی دی هست باید ارتباط برقرار کنه. به نظر شما باید چطور میبود ؟؟من چیز دیگه ای به زهنم نمیرسه خدایی :((

(15 ژوئن '12, 19:28) eCarter
toggle preview



آموزش زبان برنامه نویسی C#
آموزش jquery
آموزش برنامه نویسی
آموزش طراحی وبسایت
آموزش مدیریت وبسایت
آموزش جاوا Java
آموزش پایتون Python
آموزش سی شارپ C#‎
آموزش HTML و CSS
آموزش JavaScript جاوااسکریپت
آموزش jQuery جی کوئری
آموزش ساخت ربات تلگرام
آموزش برنامه‌نویسی PHP
آموزش برنامه‌نویسی اندروید
● آموزش‌های رایگان

سوالات مرتبط

راهنمای استفاده از ویرایشگر
  • *ایتالیک*‌ یا __ایتالیک__
  • **ضخیم** یا __ضخیم__
  • آدرس:[متن](http://url.com/ "عنوان")
  • عکس?![alt متن](/path/img.jpg "عنوان")
  • لیست عددی: 1. Foo 2. Bar
  • برای رفتن به خط بعد، هر جا مایلید که خط جدید شروع شود دو کاراکتر فاصله (space) قرار دهید
  • تگ‌های ساده HTML هم پشتیبانی می‌شوند

تگها:
  • ×209
  • ×48
  • پرسیده شده: 15 ژوئن '12, 14:04
  • بازدید: 3,373 بار
  • آخرین بروزرسانی: 16 ژوئن '12, 07:22

این سوال را دنبال کنیدتوسط ایمیل: ایمیل شما (باید معتبر باشد, هرگز به دیگران نمایش داده نمیشود):

هنگامی که شما به سیستم وارد شوید،قادر خواهید بود برای بروز رسانی ها مشترک شوید.


توسط RSS:

پاسخها

پاسخها و نظرها