?
Solved

Syntax Error using objCommand.Parameters.Add......attempting to write data to sql database

Posted on 2004-09-07
15
Medium Priority
?
502 Views
Last Modified: 2008-03-06
I am trying to write a record to  an SQL database.  I thought I have correctly delcared my variables but the system is giving a syntax error on the admDate line.  It is telling me to define the variable, but I have already defined it.  The admDate is actually Dim as a String variable....Would this create my problem?????

Any help is greatly appreciated.


Dim admDate As String

Try
                'Write ELA Objective Info record
                Dim objConnection As SqlConnection = New SqlConnection("server=(local);database=FBISD-TAKS;user id=sa;password=pa55word")
                Dim objCommand As SqlCommand = New SqlCommand
                objCommand.Connection = objConnection

                Dim r4 As Int32
                For r4 = 1 To 51
                    objCommand.CommandText = "Insert Into itemAnalysisDetail " & "(admDate, studentId, teacherId, objectiveNumber, itemCorrectResp, studentResp) " & _
                                "VALUES(@admDate,@studentId,@teacherId,@readingElaobj(r4),@readingElaItemCorrectRespArray(r4),@readingElaStudentRespArray(r4))"
                    objCommand.Parameters.Add("@admDate", SqlDbType.DateTime, 10)    <<<------- Problem Line..I Think!
                    objCommand.Parameters.Add("@studentId", SqlDbType.Int, 4)
                    objCommand.Parameters.Add("@teacherId", SqlDbType.Int, 4)
                    objCommand.Parameters.Add("@readingElaobj", SqlDbType.VarChar, 2)
                    objCommand.Parameters.Add("@readingElaItemCorrectRespArray", SqlDbType.Int, 4)
                    objCommand.Parameters.Add("@readingElaStudentRespArray", SqlDbType.Int, 4)
                    objConnection.Open()
                    objCommand.ExecuteNonQuery()
                    objConnection.Close()
                Next
            Catch ex As Exception
                MsgBox(ex.Message)

            End Try

Thanks
Kenny

0
Comment
Question by:kwh3856
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 6
  • 4
  • 3
  • +1
15 Comments
 
LVL 2

Expert Comment

by:rattmman
ID: 12000138
Hi Kenny,

Are you trying to hit a stored procedure? or just trying to run that insert as is?

RC
0
 
LVL 7

Expert Comment

by:natloz
ID: 12000170
Date should be Dim as DATETIME
0
 

Author Comment

by:kwh3856
ID: 12000176
I am tring to insert as is.  

Thanks
kenny
0
VIDEO: THE CONCERTO CLOUD FOR HEALTHCARE

Modern healthcare requires a modern cloud. View this brief video to understand how the Concerto Cloud for Healthcare can help your organization.

 
LVL 7

Expert Comment

by:natloz
ID: 12000179
Dim admDate As DateTime
0
 
LVL 37

Expert Comment

by:gregoryyoung
ID: 12000225
the problem is ...

"VALUES(@admDate,@studentId,@teacherId,@readingElaobj(r4),@readingElaItemCorrectRespArray(r4),@readingElaStudentRespArray(r4))"

the (r4)s are you trying to access an array there ?
0
 
LVL 37

Expert Comment

by:gregoryyoung
ID: 12000232
you are also never setting values to your parameters here.
0
 

Author Comment

by:kwh3856
ID: 12000265
Yes...I am trying to use an array.  Is that the right syntax????


Thanks
Kenny
0
 
LVL 2

Accepted Solution

by:
rattmman earned 2000 total points
ID: 12000273
Hey Kenny,

  Gregory has a point on those lines.  The values you want are the parameter names that you are adding, so you would want to assighn the values when you create the parameters.

  So Instead of This:

     "VALUES(@admDate,@studentId,@teacherId,@readingElaobj(r4),@readingElaItemCorrectRespArray(r4),@readingElaStudentRespArray(r4))"

   You'll want

      "VALUES @admDate,@studentId,@teacherId,@readingElaobj,@readingElaItemCorrectRespArray,@readingElaStudentRespArray)"

  Then when you create your parameters you'll need to go

objCommand.Parameters.Add("@admDate", SqlDbType.DateTime, 10).value = [VariableName]

  if it is in an array you'll need

objCommand.Parameters.Add("@admDate", SqlDbType.DateTime, 10).value = [variableName].(index)


0
 

Author Comment

by:kwh3856
ID: 12000274
I thought I was setting the values to the memory variables I had set previously in the program.  Does it not work this way??

Thanks
Kenny
0
 

Author Comment

by:kwh3856
ID: 12000303
Thank you both for turning on so many lights.  I have been trying to understand the syntax and how this works for about 3 to 4 days now.  All the tutorials and Wrox books I have read never really made this clear.  Let me go make so major changes to my code.   Again   THANKS FOR YOUR HELP


Thanks
Kenny
0
 
LVL 2

Expert Comment

by:rattmman
ID: 12000311
OK Kenny,

If you need any help you could email me at ********************

RC

editted: gregoryyoung removed email address.
0
 

Author Comment

by:kwh3856
ID: 12000320
Once again....THANKS!!!!!!!!!!!!!!
0
 
LVL 37

Expert Comment

by:gregoryyoung
ID: 12000342
hmm ... didnt I point out what the issue was ?
0
 
LVL 2

Expert Comment

by:rattmman
ID: 12000353
I agree we should split that point Gregory...

RC
0
 

Author Comment

by:kwh3856
ID: 12000357
Yes.....I wanted to split the points but did not see the button. I will post the question again so you can submit your answer.  Again...thank you very much.

Kenny
0

Featured Post

Free Tool: Subnet Calculator

The subnet calculator helps you design networks by taking an IP address and network mask and returning information such as network, broadcast address, and host range.

One of a set of tools we're offering as a way of saying thank you for being a part of the community.

Question has a verified solution.

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

Well, all of us have seen the multiple EXCEL.EXE's in task manager that won't die even if you call the .close, .dispose methods. Try this method to kill any excels in memory. You can copy the kill function to create a check function and replace the …
Introduction When many people think of the WebBrowser (http://msdn.microsoft.com/en-us/library/2te2y1x6%28v=VS.85%29.aspx) control, they immediately think of a control which allows the viewing and navigation of web pages. While this is true, it's a…
Sometimes it takes a new vantage point, apart from our everyday security practices, to truly see our Active Directory (AD) vulnerabilities. We get used to implementing the same techniques and checking the same areas for a breach. This pattern can re…
How to fix incompatible JVM issue while installing Eclipse While installing Eclipse in windows, got one error like above and unable to proceed with the installation. This video describes how to successfully install Eclipse. How to solve incompa…
Suggested Courses
Course of the Month7 days, 21 hours left to enroll

765 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