求助~用sqlquery往数据库插入二进制出现内存错误
function TServerMethods1.UploadPic(uName: string; uPortrait: TStream): Boolean;
//上传图片
const
BufSize = 51200;
var
Stream: TStream;
MS: TMemoryStream;
Buffer: TBytes;
ReadCount: Integer;
begin
Result := False;
Stream := uPortrait;
try
MS := TMemoryStream.Create;
if Stream.Size < -1 then
begin
SetLength(Buffer, BufSize);
repeat
ReadCount := Stream.Read(Buffer[0], BufSize);
if ReadCount > 0 then
MS.Write(Buffer[0], ReadCount);
until ReadCount < BufSize;
end
else
MS.CopyFrom(Stream, 0);
MS.Position := 0;
MS.SaveToFile('c:\users\fky\desktop\123.bmp');
// 上面的都ok
try
with sqlqry_Pic do
begin
Close;
SQL.Clear;
SQL.Add('update t_User set u_Portrait = :p_Portrait where u_Name = :p_Name');
TBlobField(Params.ParamByName('p_Portrait')).LoadFromStream(MS);
// 就是到上面这行,出现内存错误了
Params.ParamByName('p_Name').Value := uName;
ExecSQL(False);
Result := True;
end;
except
Result := False;
end;
finally
MS.Free;
end;
end;
...全文
相关推荐
SQLQuery8.zip
在SQLQuery8.zip这个压缩包中,包含了多个SQL查询脚本文件,这通常是数据库管理员、数据分析师或开发人员用于操作数据库的数据查询语句集合。
C# 批量插入数据方式
- **Database.SqlQuery()**: 可以直接执行SQL语句,包括批量插入的存储过程,但这不适用于频繁的数据库操作。3.
Native SQL查询 (使用SQLQuery).doc
---------------------在查询时,如果实体在映射时有一个 many-to-one 的关联指向另外一个实体,必须也返回那个实体,否则会导致发生一个"column not found"的数据库错误
SqlQuery
它允许我们创建、修改和查询数据库,执行各种任务,如插入新记录、更新现有记录、删除记录,以及检索满足特定条件的数据。1.
asp.net使用DataSet数据集插入表记录
`DataSet`是一个内存中的缓存,它能够存储来自数据库的数据,并且可以在不直接与数据库交互的情况下对其进行修改。本篇文章将详细介绍如何使用`DataSet`对象来插入新的记录到数据库表中。


网络通信/分布式开发
