命令参数

命令的参数由问号字符来标识。例如,下面的SQL语句具有一个输入参数:

select * from test where testid = ?

神通数据库 OLE DB并不会自动检查由ICommandWithParameters::SetParameterInfo方法设定的参数的正确性。在执行的时候可能会引起错误或者导致数据精度丢失等问题。为了避免这个问题,应用程序应该做到:在调用ICommandWithParameters::SetParameterInfo的时候,保证pwszDataSourceType与数据库中的相应字段类型相同;在使用Accessor的时候,保证绑定参数的DBTYPE值与数据库中相应字段的类型相同;或者,应用程序调用ICommandWithParameters::GetParameterInfo来手动获得参数的数据库类型。