【发布时间】:2015-12-17 21:57:36
【问题描述】:
我目前正在学习 LINQ,现在我正在尝试使用 Linq to sql 插入,但在插入时遇到了挑战,因为它在我调试时显示不正确的字符串格式,但它没有指向特定的行。你能帮我解决我犯的错误吗?
保存按钮
List<LEGAL_MEMBER> _LegalMemberList = _dc.LEGAL_MEMBERs.Where(a => a.IDNumber == txtIDNumber.Text.ToString()).ToList();
if (rbtnAreYouEmployed.Items[0].Selected == true)
{
ViewState["AreyouEmployed"] = true;
}
else
{
ViewState["AreyouEmployed"] = false;
}
if (rbtnIsSACitizen.Items[0].Selected == true)
{
ViewState["IsSACitizen"] = true;
}
else
{
ViewState["IsSACitizen"] = false;
}
if (_LegalMemberList != null)
{
if (_LegalMemberList.Count() == 0)
{
LEGAL_MEMBER _legalMember = new LEGAL_MEMBER
{
IDNumber = txtIDNumber.Text,
InceptionDate = Convert.ToDateTime(txtInceptionDate.Text),
LegalPreferedName = txtPreferedName.Text,
Initials = txtInitials.Text,
TitleID = int.Parse(cboTitle.SelectedValue),
FullNames = txtFullNames.Text,
Surname = txtSurname.Text,
Age = int.Parse(txtAge.Text),
DateOfBirth = Convert.ToDateTime(txtDateOfBirth.Text),
PassportNumber = txtPassport.Text,
AreyouEmployed = bool.Parse(ViewState["AreyouEmployed"].ToString()),
Employer = txtEmployer.Text,
ContactNumber = txtContactNumber.Text,
OtherContanctNumber = txtOtherContanctNumber.Text,
EmailAddress = txtEmailAddress.Text,
IsSACitizen = bool.Parse(ViewState["IsSACitizen"].ToString()),
TelephoneWork = txtTelephoneWork.Text,
TelephoneHome = txtTelephoneHome.Text,
};
_dc.LEGAL_MEMBERs.InsertOnSubmit(_legalMember);
_dc.SubmitChanges();
SQL 表
CREATE TABLE [dbo].[LEGAL_MEMBER](
[LegalMembershipID] [int] IDENTITY(1,1) NOT NULL,
[InceptionDate] [datetime] NULL,
[LegalPreferedName] [nvarchar](50) NULL,
[Initials] [nvarchar](50) NULL,
[TitleID] [int] NULL,
[FullNames] [nvarchar](50) NULL,
[Surname] [nvarchar](50) NULL,
[Age] [int] NULL,
[DateOfBirth] [datetime] NULL,
[IDNumber] [nvarchar](50) NULL,
[PassportNumber] [nvarchar](50) NULL,
[AreyouEmployed] [bit] NULL,
[Employer] [nvarchar](50) NULL,
[ContactNumber] [nvarchar](50) NULL,
[OtherContanctNumber] [nvarchar](50) NULL,
[EmailAddress] [nvarchar](50) NULL,
[IsSACitizen] [bit] NULL,
[TelephoneWork] [nvarchar](50) NULL,
[TelephoneHome] [nvarchar](50) NULL)
【问题讨论】:
-
txtDateOfBirth.Tex的值是多少?DateOfBirth = int.Parse(txtDateOfBirth.Text)?检查输入以确保它们有意义。 -
试试 Convert.ToDateTime(txtInceptionDate.Text)
-
LegalMembershipID 是我的主键
-
您可能在解析文本框值时遇到问题,但在为您的 LegalMembershipID 列指定 IDENTITY 值时最终会失败(它应该是 R/O 列)
-
来自@hevans900:您可以先在 catch 块中编写一些调试代码,让它将错误的详细信息写入控制台。
标签: c# asp.net sql-server linq