tableBlob := TadoTable.Create(Self);//创建对象
tableblob.connectionstring :=doc_con;//连接数据库
tableBlob.TableName := 'Doc_Image';//连接表
tableBlob.Open;//打开表其实我不想要任何的记录,只是相插入一条记录
//可是doc_image 记录太多,打开它需要很长时间
tableBlob.Insert ;//插入记录
tableBlob.FieldByName('id').AsString := 'strAttachID';
........
tableBlob.Open;//打开表其实我不想要任何的记录,只是相插入一条记录
//可是doc_image 记录太多,打开它需要很长时间
请问用什么方法可以解决,谢谢大家了.
我只能还用TadoTable对象
tableblob.connectionstring :=doc_con;//连接数据库
tableBlob.TableName := 'Doc_Image';//连接表
tableBlob.Open;//打开表其实我不想要任何的记录,只是相插入一条记录
//可是doc_image 记录太多,打开它需要很长时间
tableBlob.Insert ;//插入记录
tableBlob.FieldByName('id').AsString := 'strAttachID';
........
tableBlob.Open;//打开表其实我不想要任何的记录,只是相插入一条记录
//可是doc_image 记录太多,打开它需要很长时间
请问用什么方法可以解决,谢谢大家了.
我只能还用TadoTable对象
如果换TADOQuery,将非常的麻烦
tableBlob.actived:=true;
tableblob.append;
后再进行EDIT 这样可能会好点
2、定义LOCKTYPE为ltbatchoptimistic,批量刷新记录
我知道这是动态生成,也想到用TADOQuery,可是我用TADOQuery却一直没用成功
代码如下
//把文件放入表中
tableBlob1.Open;
tableBlob1.Insert ;
tableBlob1.FieldByName('id').AsString := strAttachID;
tableBlob1.FieldByName('state').AsString := Trim(StringGrid_Attachments.Cells[0,i]);
TBlobField(tableBlob1.FieldByName('image_data')).LoadFromFile(StringGrid_Attachments.Cells[3,i]);//把一个文件存入到表 Doc_Image
字段是image_data中
tableBlob1.Post;//提交记录
tableBlob1.Close;//关闭表
以上代码正常,能够实现把文件存入到数据库中
我用TADOQuery
代码如下
querySQL.SQL.Clear ;
querySQL.SQL.Add('Insert into Doc_image(id,state) Values (');
querySQL.SQL.Add(''''+strAttachID + ''',''' + Trim(StringGrid_Attachments.Cells[0,i])+'''');
TBlobField(querySQL.FieldByName('image_data')).LoadFromFile(StringGrid_Attachments.Cells[3,i]);//这句不知如何写,如何才能把文件存入数据库中
querySQL.ExecSQL ;
querySQL.Close;
希望大虾帮忙,谢谢.