PDA

View Full Version : سوال: مشکل در ذخیره سازی اطلاعات به همراه LINQ-SQL



Jamshid.Bastani
دوشنبه 16 بهمن 1391, 23:20 عصر
با درود.

من یک پروژه ای را نوشته ام که هر کاری می کنم اطلاعات در آن درج نمی گردد.

موندم چه کنم. من سورس را به همراه تصویر صفحه برای شما قرار می دهم.

با سپاس

99571
کد مربوط به این صفحه :

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace PersonalInformation
{
public partial class PerInfRegStep1 : Form
{
class1 C = new class1();

public PerInfRegStep1()
{
InitializeComponent();
}

private void PerInfRegStep1_Load(object sender, EventArgs e)
{

}

private void BTNNextStep2_Click(object sender, EventArgs e)
{
if (txtName.Text.Trim() != "" && txtFamily.Text.Trim() != "" && txtNameDad.Text.Trim() != "" && MtxtIDNumber.Text.Trim() != "" && MtxtSer1.Text.Trim() != "" && txtSer2.Text.Trim() != "" && MtxtSer3.Text.Trim() != "" && txtLocBirth.Text.Trim() != "" && ComBirthY.Text.Trim() != "" && ComBirthM.Text.Trim() != "" & ComBirthD.Text.Trim() != "" && MtxtIDNational.Text.Trim() != "" && ComSex.Text.Trim() != "" && ComMari.Text.Trim() != "" && MtxtRow.Text.Trim() != "")
{
C.strName = txtName.Text.Trim();
C.strFamily = txtFamily.Text.Trim();
C.strNameDad = txtNameDad.Text.Trim();
C.strIDNumber = MtxtIDNumber.Text.Trim();
C.strSer3 = MtxtSer1.Text.Trim();
C.strSer2 = txtSer2.Text.Trim();
C.strSer1 = MtxtSer3.Text.Trim();
C.strLocBirth = txtLocBirth.Text.Trim();
C.strBirthY = ComBirthY.Text.Trim();
C.strBirthM = ComBirthM.Text.Trim();
C.strBirthD = ComBirthD.Text.Trim();
C.strIDNational = MtxtIDNational.Text.Trim();
C.strSex = ComSex.Text.Trim();
C.strMari = ComMari.Text.Trim();
C.strRow = MtxtRow.Text.Trim();
PerInfRegStep2 RegisterStep2 = new PerInfRegStep2();
RegisterStep2.Show();
Hide();
}
else
{
MessageBox.Show("کاربر گرامی، خواهشمندیم اطلاعاتی را که ضروری بوده و با علامت ( * ) مشخص شده است را به صورت کامل و به شکل صحیح وارد نمایید.", "", MessageBoxButtons.OK, MessageBoxIcon.Warning);
}
}

private void button1_Click(object sender, EventArgs e)
{
Close();
}

private void ComBirthY_SelectedIndexChanged(object sender, EventArgs e)
{
if (ComBirthY.SelectedIndex >= 8)
{
MtxtIDNational.Text = MtxtIDNumber.Text;
MtxtRow.Text = MtxtIDNational.Text;
MtxtIDNational.ReadOnly = true;
}
else
{
MtxtIDNational.ReadOnly = false;
MtxtRow.Text = MtxtIDNational.Text;
}
}
}
}



99572
کد مربوط به این صفحه :

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace PersonalInformation
{
public partial class PerInfRegStep2 : Form
{
class1 C = new class1();

public PerInfRegStep2()
{
InitializeComponent();
}

private void BTNBack_Click(object sender, EventArgs e)
{
PerInfRegStep1 RegisterStep1 = new PerInfRegStep1();
RegisterStep1.Show();
}

private void BTNNext_Click(object sender, EventArgs e)
{
if (MtxtTelMobile.Text.Trim() != "" && MtxtTelHome.Text.Trim() != "" && MtxtPostCode.Text.Trim() != "" && txtAddress.Text.Trim() != "" && txtEmail.Text.Trim() != "")
{
C.strTelMobile = MtxtTelMobile.Text.Trim();
C.strTelHome = MtxtTelHome.Text.Trim();
C.strTelWork = MtxtTelWork.Text.Trim();
C.strTelOther = MtxtTelOther.Text.Trim();
C.strPostCode = MtxtPostCode.Text.Trim();
C.strAddress = txtAddress.Text.Trim();
C.strEmail = txtEmail.Text.Trim();
C.strwebsite = txtWebsite.Text.Trim();
PerInfRegStep3 RegisterStep3 = new PerInfRegStep3();
RegisterStep3.Show();
Hide();
}
else
{
MessageBox.Show("کاربر گرامی، خواهشمندیم اطلاعاتی را که ضروری بوده و با علامت ( * ) مشخص شده است را به صورت کامل و به شکل صحیح وارد نمایید.", "", MessageBoxButtons.OK, MessageBoxIcon.Warning);

}

}

}
}



99573


using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace PersonalInformation
{
public partial class PerInfRegStep3 : Form
{
class1 C = new class1();

public PerInfRegStep3()
{
InitializeComponent();
}

private void BTNNext_Click(object sender, EventArgs e)
{
if (ComConfUni.Text.Trim() != "" && ComConfKDZ.Text.Trim() != "" && txtUni.Text.Trim() != "" && txtReshte.Text.Trim() != "" && txtGerayesh.Text.Trim() != "" && txtMaharat1.Text.Trim() != "")
{
C.strConfUni = ComConfUni.Text.Trim();
C.strConfKDZ = ComConfKDZ.Text.Trim();
C.strUni = txtUni.Text.Trim();
C.strReshte = txtReshte.Text.Trim();
C.strGerayesh = txtGerayesh.Text.Trim();
C.strMaharat1 = txtMaharat1.Text.Trim();
C.strMaharat2 = txtMaharat2.Text.Trim();
C.strMaharat3 = txtMaharat3.Text.Trim();
C.strMaharat4 = txtMaharat4.Text.Trim();
C.strMaharat5 = txtMaharat5.Text.Trim();
var db = new LINQ2DataContext();
db.P4Save(Convert.ToInt32(C.strRow), C.strName, C.strFamily, C.strNameDad, Convert.ToInt32(C.strIDNumber), Convert.ToInt32(C.strSer1), C.strSer2, Convert.ToInt32(C.strSer3), C.strLocBirth, Convert.ToInt32(C.strBirthD), C.strBirthM, Convert.ToInt32(C.strBirthY), Convert.ToInt32(C.strIDNational), C.strSex, C.strMari, Convert.ToInt32(C.strTelMobile), Convert.ToInt32(C.strTelHome), Convert.ToInt32(C.strTelWork), Convert.ToInt32(C.strTelOther), Convert.ToInt32(C.strPostCode), C.strAddress, C.strEmail, C.strwebsite, Convert.ToInt32(C.strConfUni), Convert.ToInt32(C.strConfKDZ), C.strUni, C.strReshte, C.strGerayesh, C.strMaharat1, C.strMaharat2, C.strMaharat3, C.strMaharat4, C.strMaharat5);
gvTable.DataSource = db.AllUsers2;
}
else
{
MessageBox.Show("کاربر گرامی، خواهشمندیم اطلاعاتی را که ضروری بوده و با علامت ( * ) مشخص شده است را به صورت کامل و به شکل صحیح وارد نمایید.", "", MessageBoxButtons.OK, MessageBoxIcon.Warning);

}
}

private void PerInfRegStep3_Load(object sender, EventArgs e)
{
var db = new LINQ2DataContext();
gvTable.DataSource = db.AllUsers2;
}
}
}




کد موجود در فایل P4Save

ALTER PROCEDURE dbo.P4Save @Row int, @Name nvarchar(20), @Family nvarchar (30), @NameDad nvarchar(30), @IDNumber int, @Ser1 int, @Ser2 nvarchar(10), @Ser3 int, @LocBirth nvarchar(20), @BirthD int, @BirthM nvarchar(20), @BirthY int, @IDNational int, @Sex nvarchar(10), @Mari nvarchar (10), @TelMobile int, @TelHome int, @TelWork int, @TelOther int, @PostCode int, @Address nvarchar(50), @Email nvarchar (50), @Website nvarchar(50), @ConfUni int, @ConfKDZ int, @Uni nvarchar(30), @Reshte nvarchar (30), @Gerayesh nvarchar(30), @Maharat1 nvarchar(30), @Maharat2 nvarchar(30), @Maharat3 nvarchar(30), @Maharat4 nvarchar(30), @Maharat5 nvarchar(30)
AS
INSERT INTO AllUsers VALUES (@Row, @Name, @Family, @NameDad, @IDNumber, @Ser1, @Ser2, @Ser3, @LocBirth, @BirthD, @BirthM, @BirthY, @IDNational, @Sex, @Mari, @TelMobile, @TelHome, @TelWork, @TelOther, @PostCode, @Address, @Email, @Website, @ConfUni, @ConfKDZ, @Uni, @Reshte, @Gerayesh, @Maharat1, @Maharat2, @Maharat3, @Maharat4, @Maharat5)
RETURN



و تصویر مشکل :

99575

Mahmoud.Afrad
سه شنبه 17 بهمن 1391, 14:53 عصر
محتویات یکی یا چند تا از تکست باکس هایی که به int32 کانورت میکنید دارای کاراکتر غیر عددی هست ، مثلا شماره تلفن ها که دارای پرانتز هستند که میبایست قبل از تبدیل به عدد پرانتزها رو حذف کنید. در ضمن بهتره برای شماره تلفن ها فیلد دیتابیس رو از نوع varchar با تعداد کاراکتر مناسب در نظر بگیرید نه از نوع int.

Jamshid.Bastani
سه شنبه 17 بهمن 1391, 19:13 عصر
بازهم جواب نداد - سورس رو براون فرستادم - یک نگاهی بیندازید - در اتمام که مشکل حل گردید نتیجه را در همین پست ارسال می کنم تا دیگران نیز استفاده کنند.

با سپاس