I'm a uni student who is trying to teach himself C#/.NET (as my stream sadly doesn't teach it) and I've hit a wall when it comes to inserting into an SQL database (I'm using an Sql Server in this example). What is confusing me is that the code is reporting success, but when I inspect the table for data, nothing is there. Here's my code where I try to write to a database:

```
public bool AddStaff(Staff s)
{

    String query = @"INSERT into Staff (firstname, surname, email, phone, notes, status)";
    query +=       @" VALUES (@_firstname, @_surname, @_email, @_phone, @_notes, @_status)";

    SqlCommand myCommand = new SqlCommand(query, _db);

    myCommand.Parameters.AddWithValue("@_firstname", s.FirstName);
    myCommand.Parameters.AddWithValue("@_surname", s.Surname);
    myCommand.Parameters.AddWithValue("@_email", s.Email);
    myCommand.Parameters.AddWithValue("@_phone", s.Phone);
    myCommand.Parameters.AddWithValue("@_notes", s.Notes);
    myCommand.Parameters.AddWithValue("@_status", s.StatusToString());

    int res = 0;

    _db.Open();
    res = myCommand.ExecuteNonQuery();   // Run the statement.
    _db.Close();

    if (res == 1) return true;           // Should only update one row.
    else return false;
}

```

I've read a few threads on here before posting and I'm using the Parameters because a lot of the examples here used it and because it makes the code more readable. Also, `res` == 1 in the end, implying that one row has been updated. 

When I call this method, it's inside a `try/catch` block, no exceptions are caught. What's even more confusing, is that I can do the sql statement raw by right clicking on the database and going 'new query' and it works. I'd appreciate if you could help me understand what I'm doing wrong here. 

EDIT:

Here's the schema of the relevant table:

```
CREATE TABLE [dbo].[Staff] (
    [Id]        INT            IDENTITY (1, 1) NOT NULL,
    [firstname] NVARCHAR (50)  NOT NULL,
    [surname]   NVARCHAR (50)  NOT NULL,
    [email]     NVARCHAR (75)  NOT NULL,
    [phone]     NVARCHAR (25)  NOT NULL,
    [notes]     NVARCHAR (250) NULL,
    [status]    NVARCHAR (20)  NOT NULL,
    PRIMARY KEY CLUSTERED ([Id] ASC)
);

```