主要关键问题ASP.NET

时间:2011-06-04 12:46:49

标签: asp.net sql-server visual-studio linq-to-sql

我正在为我的一个项目开发一个职业网站。我正在使用Visual Studio 2010和ASP.NET Web窗体进行编码。

我的问题是我有一个名为Companies的表,其中包含Company ID, Company Name, Company Address列和Company Phone列。 CompanyID是我的主要关键。我正在尝试使用Linq-to-SQL将新公司插入此表。

当我执行以下代码时,如果数据库为空,则代码正常工作,但如果不是,则无法自动递增CompanyID并给出数据库错误。

我该如何解决这个问题?

提前致谢。

protected void Button1_Click(object sender, EventArgs e)
{
    Label_error.Text = "";
    Page.Validate();

    if (Page.IsValid)
    {
        CareerDataContext db = new CareerDataContext();

        Company newCompany = new Company { coName = TextBox_coName.Text, coAddress = TextBox_coAddress.Text, coPhone = int.Parse(TextBox_coPhone.Text) };
        Company fCompany = db.Companies.SingleOrDefault(company => company.coName.Equals(TextBox_coName.Text));

        if (fCompany == null)
        {
            db.Companies.InsertOnSubmit(newCompany);
            db.SubmitChanges();
        }
        else
            Label_error.Text = "This username is already in use";
    }
}

1 个答案:

答案 0 :(得分:1)

如果您的CompanyID是uniqueidentifier,那么您可以传递Guid.NewGuid();

例如:

Company newCompany = new Company { coID = Guid.NewGuid(), coName = TextBox_coName.Text, coAddress = TextBox_coAddress.Text, coPhone = int.Parse(TextBox_coPhone.Text) };