You will want to set the data type of the parameter, either using one of the Add overloads or creating a parameter using new, setting the property and then adding it to the collection.
Here are the OleDb datatypes:
http://msdn.microsoft.com/en-us/library/system.data.oledb.oledbtype.aspx
VarWChar is unicode
If you are using SqlServer, then you might want to use the native driver so you can get the Sql data types, which have a more accurate matching.
If you are going for cross db compatiblity, then you might go in the opposite direction and use the System.Data.Common datatypes, DbType.XXX, ref http://msdn.microsoft.com/en-us/library/system.data.dbtype.aspx (or ODBC and it's type enumeration since MS said they are phasing out OleDb as a technology in favor of ODBC)