SQL Parameterized insert Problem (variable already declared)

B

Bmack500

Hello, I have the following code (vb.net) below. I'm just taking an
array and pushing it into an sql (MS) database.
However, it keeps giving me the following error:
"InsertFileRecords: The variable name '@cn' has already been declared.
Variable names must be unique within a query batch or stored
procedure."

If I get rid of CN, then the next one down will give me the error. I
don't get it; I don't have the variable declared globally anywhere, or
in any calling functions. So what gives? What's wrong with my code?

Thanks in advance!!


Sub InsertFileRecords(ByVal contacts As String(,), ByVal strOU As
String)
Dim Sql, strDN, strError, strNick, strName, sqlGet As String
Dim rowsaffected As Integer
Dim iIndex1 As Integer
Dim sqlCMD As New SqlClient.SqlCommand
Dim contactInfo As contactStruct
sqlCMD.CommandType = CommandType.Text
sqlCMD.Connection = sqlConnection1
prgsInsert.Value = 0
prgsInsert.Maximum = UBound(contacts)
Sql = "INSERT INTO Tradoc.dbo.Incoming (cn, filecn,
mailNickName, filemailNickName, " _
& " targetAddress, fileproxy, fileDisplayName, givenName,
initials, sn, title, telephonenumber," _
& " company, department, physicalDeliveryOfficeName, l, st,
postalCode, co, ou, dn, adspath, " _
& " description)" _
& " VALUES
(@cn,@filecn,@mailNickName,@fileMailNickName,@targetAddress,@fileproxy,

" _
& " @fileDisplayName,
@givenname,@initials,@sn,@title,@telephoneNumber,@company,@department,
" _
& "
@physicalDeliveryOfficeName,@l,@st,@postalCode,@co,@ou,@dn,@adspath,@descri­ption)"

opensql(1)
sqlCMD.CommandText = Sql
For iIndex1 = 0 To UBound(contacts)
contactInfo = csv2ContactStruct(iIndex1, contacts, strOU)


Try
'sqlCMD.Parameters.Add(New SqlParameter("@objectClass",

SqlDbType.VarChar, 50)).Value = "contact"
sqlCMD.Parameters.Add(New SqlParameter("@cn",
SqlDbType.VarChar, 100)).Value = contactInfo.CN
sqlCMD.Parameters.Add(New SqlParameter("@filecn",
SqlDbType.VarChar, 100)).Value = contactInfo.fileCN
sqlCMD.Parameters.Add(New SqlParameter("@mailNickName",

SqlDbType.VarChar, 100)).Value = contactInfo.mailNickName
sqlCMD.Parameters.Add(New
SqlParameter("@fileMailNickName", SqlDbType.VarChar, 100)).Value =
contactInfo.fileMailNickName
sqlCMD.Parameters.Add(New
SqlParameter("@targetAddress", SqlDbType.VarChar, 400)).Value =
contactInfo.targetaddress
sqlCMD.Parameters.Add(New SqlParameter("@fileProxy",
SqlDbType.VarChar, 500)).Value = contactInfo.fileProxy
sqlCMD.Parameters.Add(New
SqlParameter("@filedisplayname", SqlDbType.VarChar, 400)).Value =
contactInfo.fileDisplayName
sqlCMD.Parameters.Add(New SqlParameter("@givenName",
SqlDbType.VarChar, 100)).Value = contactInfo.givenName
sqlCMD.Parameters.Add(New SqlParameter("@initials",
SqlDbType.VarChar, 50)).Value = contactInfo.initials
sqlCMD.Parameters.Add(New SqlParameter("@sn",
SqlDbType.VarChar, 100)).Value = contactInfo.sn
sqlCMD.Parameters.Add(New SqlParameter("@title",
SqlDbType.VarChar, 400)).Value = contactInfo.title
sqlCMD.Parameters.Add(New
SqlParameter("@telephoneNumber", SqlDbType.VarChar, 50)).Value =
contactInfo.telephoneNumber
sqlCMD.Parameters.Add(New SqlParameter("@company",
SqlDbType.VarChar, 400)).Value = contactInfo.company
sqlCMD.Parameters.Add(New SqlParameter("@department",
SqlDbType.VarChar, 400)).Value = contactInfo.department
sqlCMD.Parameters.Add(New
SqlParameter("@physicalDeliveryOfficeName", SqlDbType.VarChar,
400)).Value = contactInfo.physicalDeliveryOfficeName
sqlCMD.Parameters.Add(New SqlParameter("@l",
SqlDbType.VarChar, 50)).Value = contactInfo.l
sqlCMD.Parameters.Add(New SqlParameter("@st",
SqlDbType.VarChar, 50)).Value = contactInfo.st
sqlCMD.Parameters.Add(New SqlParameter("@postalcode",
SqlDbType.VarChar, 50)).Value = contactInfo.postalCode
sqlCMD.Parameters.Add(New SqlParameter("@co",
SqlDbType.VarChar, 50)).Value = contactInfo.co
sqlCMD.Parameters.Add(New SqlParameter("@ou",
SqlDbType.VarChar, 400)).Value = contactInfo.OU
sqlCMD.Parameters.Add(New SqlParameter("@dn",
SqlDbType.VarChar, 400)).Value = contactInfo.DN
sqlCMD.Parameters.Add(New SqlParameter("@adspath",
SqlDbType.VarChar, 400)).Value = contactInfo.adsPath
sqlCMD.Parameters.Add(New SqlParameter("@description",
SqlDbType.VarChar, 200)).Value = contactInfo.description


rowsaffected = sqlCMD.ExecuteNonQuery()


Catch e As Exception
logit("InsertFileRecords: " & e.Message)
Debugger.Break()
Finally
Sql = ""
prgsUpdate(UBound(contacts))
End Try
'Else
prgsUpdate(UBound(contacts))
'End If
Next 'iIndex1 = 0 To UBound(contacts)
closesql(1)
sqlCMD.Dispose()
'ds = Nothing
End Sub
 
B

Bmack500

Never mind. I just added "sqlCMD.Parameters.Clear()" after executing
the query.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top