I'm currently debugging an SQL query that deletes through C# an item in a SQL server table based on a number of parameters. Currently this statement is failing.
One of the parameters supplied is based on a version ID of the item.
The SQL parameter for this version ID is:
new SqlParameter("@versionId", SqlDbType.Int, 4)
If, for example, the query was supplied with the version ID 51096, would it fail on this integer parameter with a set length of '4'?
int). You shouldn't pass it to theSqlParameterconstructor at all. And even if it did have an effect on integer, it would still mean four bytes (about -2G to +2G range), not four decimal digits. On the other hand, if you use e.g.char, you would get four decimal digits (if that's how you store it), but even that wouldn't cause an error - it would truncate the value.