TQuery 在Post时候报“non-blob required in table to perform this operation”
TQuery 连接SQL Server2000使用非sa用户登录,在Post时候报“non-blob required in table to perform this operation”;使用SA用户登录时候就没有任何问题。
不知道是什么原因,请教各位高手。
谢谢!
急等。
[解决办法]
那是权限问题喽?
[解决办法]
是啊,把该用户改成db_owner试试,呵呵.
[解决办法]
Non-Blob column in table required to perform operation with MSSQL - by Borland Developer Support Staff
Abstract:Non-Blob column in table required to perform operation with MSSQL
Question and Answer Database
FAQ4274B.txt - Non-Blob column in table required to perform operation
Category :Database (MSSQL)
Platform :32 Bit
Product :BC++5.x, C++Builder1.0, C++Builder3.x, C++Builder4.x, Delphi2.x, Delphi3.x, Delphi4.x, Delphi 5.x
Question:
How come I 'm getting the error
"Non Blob column in table required to perform operation " when posting to my MSSQL database?
Answer:
There are two conditions where this error occurs:
1。You have an identity field and a field that is NOT NULL (required) and you post a record.
With BDE versions prior 5.10, all you can do is ignore the error and continue. The problem is resolved simply by getting BDE 5.10.
2。You have an identity field which is the primary key and a key field, you have a text field, and you post a record.
With BDE versions prior 5.10, all you can do is ignore the error and continue. If you have BDE 5.10 and Delphi, you can turn on the AutoRefresh property of your DataSet to resolve the problem.
If you have BDE 5.10 and development system other than Delphi 5, you can call DbiSetProp and set curAUTOREFETCH (which is equal to 0x00050017) to true.
C++ Builder Example:
#include "bde.hpp "
#define curAUTOREFETCH 0x00050017;
Table1-> Open();
DbiSetProp(Table1-> Handle, curAUTOREFETCH, TRUE);
Delphi version other than 5 example:
[b]uses bde;
const
curAUTOREFETCH = $00050017;
...
Table1.Open;
DbiSetProp(hDbiObj(Table1.Handle), curAUTOREFETCH, Longint(TRUE))