Solved

Identity field doesn't increment using .NET application (in development)

Posted on 2007-04-07
4
196 Views
Last Modified: 2010-03-19
Hello.

This one kills me!

I am building a .NET application that for managing a database (SQL Server Express 2005).
In my database I have several tables, two of which (for the sake of presenting the problem) are "Patients" and "Therapists".
Both tables are built similarly; There is a PatientSID (PK, int, not null) and a TherapistSID (PK, int, not null); Both are defined as Identity, with an Identity seed of 1, and an Identity Increment of 1.

In my application, I have two forms: (you guessed right...) "Patients" and "Therapists".
On the forms I'm using auto-generated Navigation Bars (made by dragging the accordant table from the Data Source Explorer window to its form), for retrieving, adding, editing and deleting data in my database.
The two forms, like the two tables in the database, were built the same (more then once, I must say...)!!

Now, the problem:
When trying to add a record to the "Patients" form (by using the "Add" and "Save" buttons on the Navigation Bar), the record is being added to the "Patients" table just fine.
For some reason, when trying to add a record to the "Therapists" table, using the "Therapists" form (again by using the "Add" and "Save" buttons on the Navigation Bar), the record is not being added, because the "TherapistSID" is not incrementing, and I get an error message, saying that the "TherapistSID" doesn't allow NULLs.

The code running (and failing...) for the action of saving the new added record is:

Private Sub TherapistsBindingNavigatorSaveItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles        TherapistsBindingNavigatorSaveItem.Click

        Me.Validate()
        Me.TherapistsBindingSource.EndEdit()                                                              ' This is where it fails!
        Me.TherapistsTableAdapter.Update(Me.HW1DataSet.Therapists)

End Sub

For the "Patients", the code is identical.

BTW, When adding a record directly into the table, in the SQL Server environment, it works just fine!
What's going on??

Please help.
Lior.
0
Comment
Question by:liorim2
  • 2
  • 2
4 Comments
 
LVL 143

Expert Comment

by:Guy Hengel [angelIII / a3]
ID: 18869132
all you posted looks fine. however, there must be a small configuration problem, so that the controls do not "know" about the PK field to be of type identity
for example, just make sure you look at the right database...
0
 

Author Comment

by:liorim2
ID: 18869168
what "controls" do not "know" about the PK field to be.........?
do you mean, controls in my application?
let me remind what i wrote in my first post: "BTW, When adding a record directly into the table, in the SQL Server environment, it works just fine!".

Lior.
0
 
LVL 143

Accepted Solution

by:
Guy Hengel [angelIII / a3] earned 500 total points
ID: 18869173
I speak about the navigator bar?
0
 

Author Comment

by:liorim2
ID: 18869702
Bugs, Bugs, Bugs...
Well, the problem was with the RecordSet. After killing it and rebuilding it, the problem is gone.
Thanks anyway, AngelIII, for trying.
0

Featured Post

Optimizing Cloud Backup for Low Bandwidth

With cloud storage prices going down a growing number of SMBs start to use it for backup storage. Unfortunately, business data volume rarely fits the average Internet speed. This article provides an overview of main Internet speed challenges and reveals backup best practices.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

The ECB site provides FX rates for major currencies since its inception in 1999 in the form of an XML feed. The files have the following format (reducted for brevity) (CODE) There are three files available HERE (http://www.ecb.europa.eu/stats/exch…
This article explains how to reset the password of the sa account on a Microsoft SQL Server.  The steps in this article work in SQL 2005, 2008, 2008 R2, 2012, 2014 and 2016.
Microsoft Active Directory, the widely used IT infrastructure, is known for its high risk of credential theft. The best way to test your Active Directory’s vulnerabilities to pass-the-ticket, pass-the-hash, privilege escalation, and malware attacks …

831 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question