Link to home
Start Free TrialLog in
Avatar of Eindoofus
Eindoofus

asked on

Need help with my ADO.Net SQL query to a SQL Server

Hi, I'm having issues getting my query to work. My update query works fine:
command.CommandText = "UPDATE [dbo].[Customers] SET [ContactName] = @ContactName, [ContactTitle] = @ContactTitle, [PostalCode] = @PostalCode, [Country] = @Country, [Phone] = @Phone WHERE (([ContactName] = @Original_ContactName) AND ([ContactTitle] = @Original_ContactTitle) AND ([PostalCode] = @Original_PostalCode) AND ([Country] = @Original_Country) AND ([Phone] = @Original_Phone))";

Open in new window

However, my Insert query keeps spitting out errors:
command.CommandText = "INSERT INTO [dbo].[Customers](ContactName,ContactTitle,PostalCode,Country,Phone) VALUES ([ContactName] = @ContactName, [ContactTitle] = @ContactTitle, [PostalCode] = @PostalCode, [Country] = @Country, [Phone] = @Phone)";

Open in new window

Can someone please help me correct my insert code?
Avatar of kaufmed
kaufmed
Flag of United States of America image

In the VALUES clause, ditch all the "[XXX] =" bits, and just keep the "@XXX" bits.
Avatar of Eindoofus
Eindoofus

ASKER

command.CommandText = "INSERT INTO [dbo].[Customers](ContactName,ContactTitle,PostalCode,Country,Phone) VALUES (@ContactName, @ContactTitle, @PostalCode, @Country, @Phone)";

Open in new window

Spits out the following error:

The parameterized query '(@ContactName nvarchar(10),@ContactTitle nvarchar(4000),@PostalC' expects the parameter '@ContactTitle', which was not supplied.

Btw, I should probably mention that I'm using the Northwind database.
ASKER CERTIFIED SOLUTION
Avatar of kaufmed
kaufmed
Flag of United States of America image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Turned out that I wasn't filling in all of the necessary textboxes. I kept on get similar errors until they were all filled, but now I get:

Cannot insert the value NULL into column 'CustomerID', table 'Northwind.dbo.Customers'; column does not allow nulls. INSERT fails.
The statement has been terminated.


Shouldn't the database create a key automatically?
You have set up the Customers column to not accept NULL as a valid value, and I'm guessing you did not set a default value for the column (if nothing is explicitly passed for this column). You must supply a value for this column, or change the column definition to have a default value.