Must declare the scalar variable "@" - paramaterized sqlclient insert - HELP!!

B

Bmack500

Below is my code, the error occurs when it is executed. I don't quite
understand it; What am I doing wrong?

Sub insertADRecords(ByVal oEntry As SearchResult)
Dim iIndex1 As Integer
Dim strSql, strDN, strProxyAdd, strProxy(), strMyString As
String, rowsAffected As Integer
strSql = "INSERT INTO Tradoc.dbo.CurrAD (objclass, cn,
mailnickname, targetAddress, proxyAddresses, displayname,
givenName,initials,sn,title,telephoneNumber,company,department,physicalDeliveryOfficeName,l,st,postalcode,
co,adspath) VALUES (@,@,@,@,@,@,@,@,@,@,@,@,@,@,@,@,@,@,@))"
Dim sqlCMD As SqlClient.SqlCommand = New SqlCommand(strSql,
sqlConnection)
'sqlCMD.Connection() = sqlConnection
sqlCMD.CommandType = CommandType.Text
writeLog(strSql)

'Dim oResult As SearchResult
Dim item, strtemp As String

sqlCMD.Parameters.Add(New SqlParameter("@objclass",
SqlDbType.VarChar, 50))
sqlCMD.Parameters.Add(New SqlParameter("@cn",
SqlDbType.VarChar, 100))
sqlCMD.Parameters.Add(New SqlParameter("@mailnickname",
SqlDbType.VarChar, 100))
sqlCMD.Parameters.Add(New SqlParameter("@targetAddress",
SqlDbType.VarChar, 400))
sqlCMD.Parameters.Add(New SqlParameter("@proxyAddresses",
SqlDbType.VarChar, 400))
sqlCMD.Parameters.Add(New SqlParameter("@displayName",
SqlDbType.VarChar, 400))
sqlCMD.Parameters.Add(New SqlParameter("@givenName",
SqlDbType.VarChar, 100))
sqlCMD.Parameters.Add(New SqlParameter("@initials",
SqlDbType.VarChar, 50))
sqlCMD.Parameters.Add(New SqlParameter("@sn",
SqlDbType.VarChar, 100))
sqlCMD.Parameters.Add(New SqlParameter("@title",
SqlDbType.VarChar, 400))
sqlCMD.Parameters.Add(New SqlParameter("@telephoneNumber",
SqlDbType.VarChar, 400))
sqlCMD.Parameters.Add(New SqlParameter("@company",
SqlDbType.VarChar, 400))
sqlCMD.Parameters.Add(New SqlParameter("@department",
SqlDbType.VarChar, 400))
sqlCMD.Parameters.Add(New
SqlParameter("@physicalDeliveryOfficeName", SqlDbType.VarChar, 400))
sqlCMD.Parameters.Add(New SqlParameter("@l", SqlDbType.VarChar,
50))
sqlCMD.Parameters.Add(New SqlParameter("@st",
SqlDbType.VarChar, 50))
sqlCMD.Parameters.Add(New SqlParameter("@postalcode",
SqlDbType.VarChar, 50))
sqlCMD.Parameters.Add(New SqlParameter("@co",
SqlDbType.VarChar, 50))
sqlCMD.Parameters.Add(New SqlParameter("@adspath",
SqlDbType.VarChar, 400))
'***********************************************************
sqlCMD.Parameters("@objclass").Value = "contact"
Try
sqlCMD.Parameters("@cn").Value =
strQuoteReplace(Trim(Convert.ToString(oEntry.Properties("cn")(0))))
Catch ex As Exception
sqlCMD.Parameters("@cn").Value = ""
End Try
Try
sqlCMD.Parameters("@mailnickname").Value =
strQuoteReplace(Trim(Convert.ToString(oEntry.Properties("mailnickname")(0))))
Catch ex As Exception
sqlCMD.Parameters("@targetAddress").Value = ""
End Try
Try
sqlCMD.Parameters("@targetAddress").Value =
strQuoteReplace(Trim(Convert.ToString(oEntry.Properties("targetAddress")(0))))
Catch ex As Exception
sqlCMD.Parameters("@targetAddress").Value = ""
End Try
Try
sqlCMD.Parameters("@proxyAddresses").Value() =
Convert.ToString(oEntry.Properties("proxyAddresses")(0))
Catch ex As Exception
sqlCMD.Parameters("@proxyAddresses").Value() = ""
End Try
Try
sqlCMD.Parameters("@displayName").Value =
strQuoteReplace(Trim(Convert.ToString(oEntry.Properties("displayName")(0))))
Catch ex As Exception
sqlCMD.Parameters("@displayName").Value() = ""
End Try
Try
sqlCMD.Parameters("@givenName").Value =
strQuoteReplace(Trim(Convert.ToString(oEntry.Properties("givenName")(0))))
Catch ex As Exception
sqlCMD.Parameters("@givenName").Value = ""
End Try
Try
sqlCMD.Parameters("@initials").Value =
strQuoteReplace(Trim(Convert.ToString(oEntry.Properties("initials")(0))))
Catch ex As Exception
sqlCMD.Parameters("@initials").Value = ""
End Try
Try
sqlCMD.Parameters("@sn").Value =
strQuoteReplace(Trim(Convert.ToString(oEntry.Properties("sn")(0))))
Catch ex As Exception
sqlCMD.Parameters("@sn").Value = ""
End Try
Try
sqlCMD.Parameters("@title").Value =
strQuoteReplace(Trim(Convert.ToString(oEntry.Properties("title")(0))))
Catch ex As Exception
sqlCMD.Parameters("@title").Value = ""
End Try
Try
sqlCMD.Parameters("@telephoneNumber").Value =
strQuoteReplace(Trim(Convert.ToString(oEntry.Properties("telephoneNumber")(0))))
Catch ex As Exception
sqlCMD.Parameters("@telephoneNumber").Value = ""
End Try
Try
sqlCMD.Parameters("@company").Value =
strQuoteReplace(Trim(Convert.ToString(oEntry.Properties("company")(0))))
Catch ex As Exception
sqlCMD.Parameters("@company").Value = ""
End Try
Try
sqlCMD.Parameters("@department").Value =
strQuoteReplace(Trim(Convert.ToString(oEntry.Properties("department")(0))))
Catch ex As Exception
sqlCMD.Parameters("@department").Value = ""
End Try
Try
sqlCMD.Parameters("@physicalDeliveryOfficeName").Value =
strQuoteReplace(Trim(Convert.ToString(oEntry.Properties("physicalDeliveryOfficeName")(0))))
Catch ex As Exception
sqlCMD.Parameters("@physicalDeliveryOfficeName").Value = ""
End Try
Try
sqlCMD.Parameters("@l").Value =
strQuoteReplace(Trim(Convert.ToString(oEntry.Properties("l")(0))))
Catch ex As Exception
sqlCMD.Parameters("@l").Value = ""
End Try
Try
sqlCMD.Parameters("@st").Value =
strQuoteReplace(Trim(Convert.ToString(oEntry.Properties("st")(0))))
Catch ex As Exception
sqlCMD.Parameters("@st").Value = ""
End Try
Try
sqlCMD.Parameters("@postalcode").Value =
strQuoteReplace(Trim(Convert.ToString(oEntry.Properties("postalcode")(0))))
Catch ex As Exception
sqlCMD.Parameters("@postalcode").Value = ""
End Try
Try
sqlCMD.Parameters("@co").Value =
strQuoteReplace(Trim(Convert.ToString(oEntry.Properties("co")(0))))
Catch ex As Exception
sqlCMD.Parameters("@co").Value = ""
End Try
sqlCMD.Parameters("@adspath").Value =
strQuoteReplace(Trim(Convert.ToString(oEntry.Properties("adspath")(0))))
If sqlConnection.State = ConnectionState.Closed Then
sqlConnection.Open()
End If
Try
'Here's where the error occurs, of course...
rowsAffected = sqlCMD.ExecuteNonQuery()
Catch ex As Exception
writeLog(ex.Message)
End Try
sqlCMD.Dispose()


End Sub
 
P

Patrice

Access uses ? as an anonymous placeholder.

Sql Server uses named parameters i.e. IMO you should use @objclass etc in
your SQL statement instead of just @...
 

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