Вот ссылка на статью, которая должна решить вашу проблему.Замените символы @ на?вместо символов.
http://forums.asp.net/t/1283161.aspx
У OP на этом форуме были проблемы с вставкой нулевых значений, как и вы.Решение состояло в том, чтобы изменить код следующим образом:
Dim cmd As New OdbcCommand("INSERT INTO member(Name, Pass) VALUES (?Name,?Pass)", myconn)
cmd.CommandType = CommandType.Text
cmd.Parameters.Add("?Name", objMember.Name)
cmd.Parameters.Add("?Pass", objMember.Pass)
cmd.ExecuteNonQuery()
Если вы хотите указать тип значения для поля, вы можете сделать это так, как вы это делали, но затем вы должны добавить длину следующим образом:
cmd.Parameters.Add("?Name", OdbcType.VarChar, 30).Value = objMember.Name
Надеюсь, это поможет.