oka*_*ami 0 delphi string interbase blob
我想做一个查询插入:
插入A_TABLE(BLOB_FIELD)值(MY_BLOB_VAL)
但我在exphi中只有字符串值,例如:
procedure INSERT_BLOB_QUERY
var
query:String;
my_blob_val:String;
begin
my_blob_val := 'a blob string to be inserted';
query := 'INSERT INTO A_TABLE (BLOB_FIELD) VALUES(' + my_blob_val + ')';
// to execute a query....
end;
Run Code Online (Sandbox Code Playgroud)
出现的问题是字符串到blob的转换.
那么如何在interbase blob字段中插入一个字符串?
像这样:
procedure INSERT_BLOB_QUERY;
begin
query.SQL.Text := 'INSERT INTO A_TABLE (BLOB_FIELD) VALUES (:VAL)';
query.ParamByName('VAL').AsString := 'a blob string to be inserted';
end;
Run Code Online (Sandbox Code Playgroud)
您的代码不起作用,因为您没有将字符串作为参数传递,您将其作为查询的一部分传递.如果你这样做,你显然需要QUOTE它:你正在做的方式Interbase将尝试将其解释为SQL命令,而不是作为要插入db列的文字字符串.
尽管如此,不要去引用.使用参数总是更好,它更安全!
| 归档时间: |
|
| 查看次数: |
6265 次 |
| 最近记录: |