这个字段类型怎么了ftString

fireworld 2002-01-16 08:12:54
sybase数据库,
跟踪字段类型喂ftString
值为“推迟”。
就是InsertRecord时报“字段类型不比配”。
大家帮忙,我在线等候
while not query2.Eof do
begin
aField := TField.Create(nil);
aField.SetFieldType(query2.Fields[0].DataType) ;
aField.FieldName := query2.fields[1].fieldname ;
cds1.Fields.add(afield);
cds1.CreateDataSet ;
cds1.InsertRecord([query2.fieldbyname('JGMC').asstring]);
query2.Next;
end;
query1.Next;
...全文
166 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
fireworld 2002-01-16
  • 打赏
  • 举报
回复
呵呵,小新说的对,我也刚发现,真是丢人啊。
我在试你的代码。先谢谢了。有qq吗?交个朋友,我也是帮朋友问的。
等你来qq:16218085
cobi 2002-01-16
  • 打赏
  • 举报
回复
试一下以下代码,是动态创建clientdataset的
for i := 0 to dm1.QryMain.FieldCount - 1 do
begin
with dm1.CDSTmp.Fielddefs.AddFieldDef do
begin
name := dm1.QryMain.Fields[i].FieldName;
datatype := dm1.QryMain.Fields[i].DataType;
required := dm1.QryMain.Fields[i].required;
end;
end;

而且你的代码犯了逻辑性错误,你应该是创建了clientdataset之后才赋值的,而你现在吧创建的代码也写在其中,会出问题的

aField := TField.Create(nil);
aField.SetFieldType(query2.Fields[0].DataType) ;
aField.FieldName := query2.fields[1].fieldname ;
cds1.Fields.add(afield);
cds1.CreateDataSet ;

while not query2.Eof do
begin
cds1.InsertRecord([query2.fieldbyname('JGMC').asstring]);
cds1.post;
query2.Next;
end;
fireworld 2002-01-16
  • 打赏
  • 举报
回复
怎么没有人帮我了,大家都来啊
fireworld 2002-01-16
  • 打赏
  • 举报
回复
但我是要动态的创建啊,那在创建之前必须先针对他的类型创建相应的字段对象吗?
movingboy 2002-01-16
  • 打赏
  • 举报
回复
不要用TField,应该用TStringField,TFloatField等。
fireworld 2002-01-16
  • 打赏
  • 举报
回复
镇没有人帮我吗?up
fireworld 2002-01-16
  • 打赏
  • 举报
回复
高手们,你们干什么去了?
fireworld 2002-01-16
  • 打赏
  • 举报
回复
兄弟帮帮忙啊。我做完了才能下班啊
[说明] DiSQLiteApi.dcu 文件根据实际开发环境在包内进行选择 本版本的 ASqlite 是基于 livu999 大侠的修改版继续魔改 原帖地址:http://download.csdn.net/download/ilvu999/6369053 本版本只支持 D2009 以上的 Unicode 版本的 Delphi 原作者在主要单元文件已经说明清楚了,老版本 Delphi 请绕道 为了照顾 XE2 下使用的朋友,故最后做了兼容 再照顾一下 DBGrid,令其不再显示 (MEMO) 另外做了兼容,在 XE8 开发环境及 64 位平台下通过基本测试            katar1024 (网名:阿龙) 2017-08-22 大改支持 TWideMemo,在此解决乱码问题 修正启用 SQLiteDateFormat 的情况下读取非正规日期字符串引起异常的 bug 查询语句中表名和字段名用中括号 [] 引括,可以使用 Index 之,等保留字段名 删除属性 CharacterEncode,一律按默认的 Uft-8 格式存取字符串 删除属性 DriverDll,已经启用 SQLite 静态库方式编译并链接,不需携带 dll 使用 DISQlite 的静态库编译,版本 3.8.3,兼容性和稳定性均良好 2017-08-23 插入和更新操作只针对已修改的字段进行处理和提交,提高执行效率 插入记录后,同步读取库中的数字和日期默认值,对取值自动分配 id 有意义 所有调试记录代码全部加了条件编译块控制,减小体积,提高调度效率 优化类型数据存取分支代码,减少体积,提高读写效率 去除初次读取数据 100 字节大小缓冲区的限制,防止字符串乱码 其它性能优化 其它 bug 修复 2017-08-24 修正设计器属性框中 Active 属性设置为 True,但运行时未打开查询的 bug ftString、ftWideString、ftMemo、ftWideMemo 等字符串字段通过乱码测试 Memo 字段添加显示功能,控件不再显示(MEMO)或(WIDEMEMO) Memo 字段支持 AsInteger、AsDataTime 等数据功能(设计器预定义的字段无效) 2017-08-25 修改关键属性时自动关闭数据连接 TransactionType、TempStore, DefaultSynchronous 等属性从字符串值修改为枚举值 修正 TypeLess 功能 添加 TASQLiteBaseQuery 一些关键属性在设计器中改变后自动关闭查询的功能 修正 Filtered 属性在设计器中改变后,但结果没变的 bug PS: 本来想弄个批处理提交功能的(BatchedUpdates 或 CachedUpdates), 在某些场合很实用,但最近改的问题太多了,改得好累,等下次真正用到了再补上 对 SQLite 的初恋蛮深的,但不得不吐槽,想说爱它真的很不容易
[说明] DiSQLiteApi.dcu 文件根据实际开发环境在包内进行选择 本版本的 ASqlite 是基于 livu999 大侠的修改版继续魔改 原帖地址:http://download.csdn.net/download/ilvu999/6369053 本版本只支持 D2009 以上的 Unicode 版本的 Delphi 原作者在主要单元文件已经说明清楚了,老版本 Delphi 请绕道 为了照顾 XE2 下使用的朋友,故最后做了兼容 再照顾一下 DBGrid,令其不再显示 (MEMO) 另外做了兼容,在 XE8 开发环境及 64 位平台下通过基本测试            katar1024 (网名:阿龙) 2017-08-22 大改支持 TWideMemo,在此解决乱码问题 修正启用 SQLiteDateFormat 的情况下读取非正规日期字符串引起异常的 bug 查询语句中表名和字段名用中括号 [] 引括,可以使用 Index 之,等保留字段名 删除属性 CharacterEncode,一律按默认的 Uft-8 格式存取字符串 删除属性 DriverDll,已经启用 SQLite 静态库方式编译并链接,不需携带 dll 使用 DISQlite 的静态库编译,版本 3.8.3,兼容性和稳定性均良好 2017-08-23 插入和更新操作只针对已修改的字段进行处理和提交,提高执行效率 插入记录后,同步读取库中的数字和日期默认值,对取值自动分配 id 有意义 所有调试记录代码全部加了条件编译块控制,减小体积,提高调度效率 优化类型数据存取分支代码,减少体积,提高读写效率 去除初次读取数据 100 字节大小缓冲区的限制,防止字符串乱码 其它性能优化 其它 bug 修复 2017-08-24 修正设计器属性框中 Active 属性设置为 True,但运行时未打开查询的 bug ftString、ftWideString、ftMemo、ftWideMemo 等字符串字段通过乱码测试 Memo 字段添加显示功能,控件不再显示(MEMO)或(WIDEMEMO) Memo 字段支持 AsInteger、AsDataTime 等数据功能(设计器预定义的字段无效) 2017-08-25 修改关键属性时自动关闭数据连接 TransactionType、TempStore, DefaultSynchronous 等属性从字符串值修改为枚举值 修正 TypeLess 功能 添加 TASQLiteBaseQuery 一些关键属性在设计器中改变后自动关闭查询的功能 修正 Filtered 属性在设计器中改变后,但结果没变的 bug PS: 本来想弄个批处理提交功能的(BatchedUpdates 或 CachedUpdates), 在某些场合很实用,但最近改的问题太多了,改得好累,等下次真正用到了再补上 对 SQLite 的初恋蛮深的,但不得不吐槽,想说爱它真的很不容易
2.35.0.12 26-Dec-02 打开小型查询的速度优化(2378) MSConnection.Options已添加(2454) 添加了有限的MSConnection.ConnectString支持(2356) 现在从服务器获取输出字符串和(var)字节参数 最大长度不依赖于设置Param.Size(2355) DBMonitor客户端实现已移至COM服务器 修复了复杂表名的错误 修复了DT编辑器中丢失数据的常见错误(D2137) 修复了DataModule中设计时MSConnection的错误(O2290) 修复MSTable错误的设计时编辑器(2433) 优化服务器游标的BLOB字段发布(2117) 修复ClientDataSet的主/明细关系的错误(O2423) 修复了OutOfMem(1979)的一些错误 2.30 30-Sep-02 Delphi 7支持 ftString和ftVarBytes类型的新内存管理模型。允许显着减少大型表提取时的内存使用量。由FlatBuffers数据集选项控制 在CachedUpdates模式下支持blob字段 2.05 09-Aug-02 DBMonitor支持 2.00 18-Jul-02 支持服务器游标 支持多个结果集的查询 性能提升 打开查询而不支持将所有行提取到客户端(FetchAll = False) 增加了单向支持 快速获取身份价值 StoredProc支持刷新 FullRefresh支持 执行更新和删除时检查旧行值 在从提交到回滚的打开事务的关闭连接上更改了行为 1.30 21-Mar-02 支持C ++ Builder 6 1.20 08-Nov-01 添加了TMSParam类来表示参数 添加了查询分析器和企业管理器集成 在刷新时加速获取身份值 1.00 26-Aug-01 SDAC的第一个版本

5,388

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧