MaHyaR.DrAcOulA
عضو جدید
سلام دوستان عزیز
به تازگی به مشکلی برخوردم که هر چی Break Point میزنم متوجه نمیشم داره چیکار میکنه :ناراحت:
من عمل ایجاد و حذف رو رو میتونم به خوبی و بدون مشکل انجام بدم ولی یه مشکلی توی ویرایش داده ها وجود داره نمیدونم توی سورس کدهاش هست یا از پروسجر هستش
این کدها مربوط به پروسجر بنده برای اپدیت جدول پرسنل هست .
بعد در برنامه به این صورت عمل کردم .
در فرم پرسنل قسمت ریبون کامند اومده ادیت دیتا رو فراخوانی کرده. متد ادیت دیتا :
[CSHARP]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.CurrentRow.Cells["CodeEmployee"].Value.ToString());
dfer.ShowDialog();
}
}
[/CSHARP]
بعد به قسمت یوزر کنترل پرسنل رجوع میکنیم که به این صورت هست :
و در اخر مربوط به متد دخیره و مدهاش هستش که در همون یوزرکنترل پرسنل وجود داره :
[CSHARP]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;
}
[/CSHARP]
ممنون میشم از اساتید محترم یکی راهنماییم کنه و بگه که مشکل کار کجاست ممنونم از همگی
به تازگی به مشکلی برخوردم که هر چی 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
بعد در برنامه به این صورت عمل کردم .
در فرم پرسنل قسمت ریبون کامند اومده ادیت دیتا رو فراخوانی کرده. متد ادیت دیتا :
[CSHARP]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.CurrentRow.Cells["CodeEmployee"].Value.ToString());
dfer.ShowDialog();
}
}
[/CSHARP]
بعد به قسمت یوزر کنترل پرسنل رجوع میکنیم که به این صورت هست :
کد:
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;
}
}
و در اخر مربوط به متد دخیره و مدهاش هستش که در همون یوزرکنترل پرسنل وجود داره :
[CSHARP]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;
}
[/CSHARP]
ممنون میشم از اساتید محترم یکی راهنماییم کنه و بگه که مشکل کار کجاست ممنونم از همگی