求助 把下面一段—elphi)代码 编译成C#形式
- Delphi(Pascal) code
Delphi, CB:procedure TFPProcess.SaveFPData(AQuery: TADOQuery; AFingerID: Integer; AFPData: OleVariant);var pData: PChar;begin with AQuery do begin Close; SQL.Clear; SQL.Add('SELECT * FROM zkFingerPrint WHERE FingerID = ' + IntToStr(AFingerID)); Open; if IsEmpty then Append else Edit; FieldByName('FingerID').Value := AFingerID; //保存指纹模板 with TBlobStream(CreateBlobStream(FieldByName('Template'), bmWrite)) do begin pData := VarArrayLock(AFPData); try Write(pData^, VarArrayHighBound(AFPData, 1) - VarArrayLowBound(AFPData, 1) + 1); finally VarArrayUnlock(AFPData); end; Free; end; Post; Close; end;end;procedure TFPProcess.GetFPData(AQuery: TADOQuery; AFingerID: Integer; var AFPData: OleVariant);var pData: PChar;begin with AQuery do begin Close; SQL.Clear; SQL.Add('SELECT * FROM zkFingerPrint WHERE FingerID = ' + IntToStr(AFingerID)); Open; //读取数据 if not IsEmpty then with TBlobStream(CreateBlobStream(FieldByName('Template'), bmRead)) do begin AFPData := VarArrayCreate([0, Size + 1], varByte); pData := VarArrayLock(AFPData); try Read(pData^, Size); finally VarArrayUnlock(AFPData); end; Free; end; Close; end;end;最少能把主体部分翻译出来,分不够你说我可以加,但一定要翻译正确
[解决办法]
一个C#存储blob的例子
http://developer.51cto.com/art/200909/149692.htm
不过记得,添加最好用SqlCommand来做