Solved

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

Posted on 2012-03-15
5
376 Views
Last Modified: 2012-08-13
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?
0
Comment
Question by:Eindoofus
  • 3
  • 2
5 Comments
 
LVL 75

Expert Comment

by:käµfm³d 👽
ID: 37727852
In the VALUES clause, ditch all the "[XXX] =" bits, and just keep the "@XXX" bits.
0
 

Author Comment

by:Eindoofus
ID: 37727860
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.
0
 
LVL 75

Accepted Solution

by:
käµfm³d   👽 earned 500 total points
ID: 37727864
To your SqlCommand object are you adding a SqlParameter object which has a parameter name of "@ContactTitle"? If so, make sure the variable which holds the data you want to send to the DB is not null. If you want to insert a NULL into the DB, then you will have to add logic to send DBNull.Value instead. (DBNull.Value represents the concept of database NULL, not null as in C#.)
0
 

Author Comment

by:Eindoofus
ID: 37727873
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?
0
 
LVL 75

Expert Comment

by:käµfm³d 👽
ID: 37727883
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.
0

Featured Post

Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

Question has a verified solution.

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

Suggested Solutions

Title # Comments Views Activity
Help writing a query 6 69
Problem with Filesystemobject or .NET version 3 31
Runtime Error 2 27
Where can I ask about my ASP.NET MVC project? 6 12
More often than not, we developers are confronted with a need: a need to make some kind of magic happen via code. Whether it is for a client, for the boss, or for our own personal projects, the need must be satisfied. Most of the time, the Framework…
PL/SQL can be a very powerful tool for working directly with database tables. Being able to loop will allow you to perform more complex operations, but can be a little tricky to write correctly. This article will provide examples of basic loops alon…
When you create an app prototype with Adobe XD, you can insert system screens -- sharing or Control Center, for example -- with just a few clicks. This video shows you how. You can take the full course on Experts Exchange at http://bit.ly/XDcourse.
A company’s greatest vulnerability is their email. CEO fraud, ransomware and spear phishing attacks are the no1 threat to a company’s security. Cybercrime is responsible for the largest loss of money to companies today with losses projected to r…

947 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

Need Help in Real-Time?

Connect with top rated Experts

20 Experts available now in Live!

Get 1:1 Help Now