含有varchar字段的sql表,在vfp中用远程视图对应为memo类型,在设计表单时有问题

yestoyes 2006-12-18 01:54:30
含有varchar字段的sql表,在vfp中用远程视图对应为memo类型,在设计表单时问题如下:

如sql表中有记录,在设计表单时不能直接拖放各字段。(只能先加控件,再设定数据源)

如sql表中无记录,拖放正常。

如在视图中不要这一字段(varchar),一切正常。

以上在vfp5.0 6.0 8.0均同一现象,不知哪位遇到过?如何解决?
(我现在只能是先在视图中不加入这一字段,表单设计完后,再加入这一字段,以方便设计时操作)
...全文
597 18 打赏 收藏 转发到动态 举报
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
caixia615 2006-12-22
  • 打赏
  • 举报
回复
up,学习了
十豆三 2006-12-21
  • 打赏
  • 举报
回复
原因我也不知道。


我一直在用VFP+XP。所以问题也不多。


建议用XP,因为估计MS在XP下的测试要多于W2000

我现在的习惯是开发用XP,服务器用W2000 SERVER
yestoyes 2006-12-21
  • 打赏
  • 举报
回复
谢谢大家!
从两位老大的回复来看,好象是vfp与win2000之间匹配问题,但我一直以来都是用的win2000,以前工作中也有类似的表,但这问题是最近刚发现的,以有没有遇到过.

换句话说,是不是什么地方的设置有问题呢?因为我以前工作用机有两三台,有的是win2000,有的是win98,难道以前碰巧绕过了这个问题?

再次感谢两位大侠出手,其实对于一个真正意义上的写程序的人来说,有问题并不没什么,都会以其他的方法解决.就象本题来说,因为是原用的一个系统中要新增一个表单,一开始只是发现不能直接拖放,以为是系统有问题,但经过测试,系统是没有问题.

然后,一个表,一个字段的排除,最后才发现是出于这一字段的原因.但我想这还不是原因,应该还有其他原因吧,所以才拿出来与大侠们探讨(因为我的工作已经完成了,但还不知原因在哪).

十豆三 2006-12-18
  • 打赏
  • 举报
回复
VFP9.0+SQL SERVER2000+WIN2000

测试结果:

与帖主一样。

说明VFP9.0在Win2000还是有问题呀。
十豆三 2006-12-18
  • 打赏
  • 举报
回复
好的,我试试

我是:VFP9.0+SQL SERVER2000+XP
wwwwb 2006-12-18
  • 打赏
  • 举报
回复
TO apple_8180:
我在WIN2000SP4+SQL SERVER2000下测试,代码与你的一致
十豆三 2006-12-18
  • 打赏
  • 举报
回复
我测试结果与帖主及WWWWB不一样。

不管是一个字段还是多个字段都可以拖放。

不管有没有记录也可以拖放。

XP+VFP9.0

以下我的视图SQL代码,找找区别吧:表名TMP,一个字段,名称为VC 类型varchar 3000长度,

SELECT Tmp.vc;
FROM ;
dbo.tmp Tmp

DBSetProp(ThisView,"View","SendUpdates",.T.)
DBSetProp(ThisView,"View","BatchUpdateCount",1)
DBSetProp(ThisView,"View","CompareMemo",.T.)
DBSetProp(ThisView,"View","FetchAsNeeded",.F.)
DBSetProp(ThisView,"View","FetchMemo",.T.)
DBSetProp(ThisView,"View","FetchSize",100)
DBSetProp(ThisView,"View","MaxRecords",-1)
DBSetProp(ThisView,"View","Prepared",.F.)
DBSetProp(ThisView,"View","ShareConnection",.F.)
DBSetProp(ThisView,"View","AllowSimultaneousFetch",.F.)
DBSetProp(ThisView,"View","UpdateType",1)
DBSetProp(ThisView,"View","UseMemoSize",255)
DBSetProp(ThisView,"View","Tables","dbo.tmp")
DBSetProp(ThisView,"View","WhereType",3)

DBSetProp(ThisView+".vc","Field","DataType","M")
DBSetProp(ThisView+".vc","Field","UpdateName","dbo.tmp.vc")
DBSetProp(ThisView+".vc","Field","KeyField",.T.)
DBSetProp(ThisView+".vc","Field","Updatable",.T.)
十豆三 2006-12-18
  • 打赏
  • 举报
回复
以为你是问为什么变成MEMO字段了。
wwwwb 2006-12-18
  • 打赏
  • 举报
回复
测试了一下,
1、在SQL SERVER表中只有一个字段的情况下确实是这样的,
可以用EDIT控件;
2、在SQL SERVER表中有一个字段以上的情况下,可以直接拖放;
3、抢分之说不成立,虚拟分有什么用?
4、我出这帖,一方面也是为新手一个参考,因为我的问题本身已经解决(虽然是变通),也许有新手正在郁闷,所以才发这帖。
实际上你自己多测试一下,即可找到解决方法。
yestoyes 2006-12-18
  • 打赏
  • 举报
回复
我要的就是memo型,我不是问为何是memo,为什么有那么都的老大答非所问?

抢分?!

分有何用?!

我出这帖,一方面也是为新手一个参考,因为我的问题本身已经解决(虽然是变通),也许有新手正在郁闷,所以才发这帖。

这里是交流的地方,我只是发现这一现象,一时不知问题的真正原因,希望老大们指点指点。
yestoyes 2006-12-18
  • 打赏
  • 举报
回复
老大,看清楚题目!!!!!!!!!!!!!

我要问的是:设计表单时不能拖放,如何解决??????????????

(题中我已告知我目前的变通方法)
十豆三 2006-12-18
  • 打赏
  • 举报
回复
说明SQL Server表中的这个字符型字段的长度超过了254,
因为VFP的字符型字段的最大值254,如果超过了这个数,就认为MEMO字段了。

解决方法:
如果SQL Server表中的字段长度在255以内也够用的话,就把SQL Server中的这个字符型字段长度改为254。
如果这个字段内容确实超过了254,就只能用MEMO对应了
wwwwb 2006-12-18
  • 打赏
  • 举报
回复
varchar长度为3000,应该与长度无关吧
NO,在VFP中,字符型最长为255,超过为MEMO即备注型。
十豆三 2006-12-18
  • 打赏
  • 举报
回复
长度大于255就自动对应MEMO字段了。
yestoyes 2006-12-18
  • 打赏
  • 举报
回复
varchar长度为3000,应该与长度无关吧
wwwwb 2006-12-18
  • 打赏
  • 举报
回复
还没有没遇到过此问题,varchar长度为多少?
yi10000 2006-12-18
  • 打赏
  • 举报
回复
关注中...
打开链接下载源码: https://pan.quark.cn/s/a4b39357ea24 在当前迅速演进的电子工程领域中,汽车电子、工业自动化以及航空航天等行业对数据通信的高效性与可靠性提出了极为严格的要求。为了应对这些需求,各式各样的通信协议相继出现,其中Controller Area Network(CAN)总线凭借其卓越的现,已成为上述领域的首选方案。该总线被广泛用于车辆内部电子控制单元(ECU)之间的数据交换,以及更为复杂的系统集成场景。作为行业规范的ISO 11898-2,更是提供了关于CAN总线物理层的关键性规定,是学习和实现CAN通信不可或缺的基础。CAN总线的物理层是保障信号精确传输的根基,因此对其深入理解显得尤为关键。ISO 11898-2规范着重于CAN总线物理层的界定,它细致地说明了关于传输媒介、信号传输、电气接口和电磁兼容性等多个方面的技术要素。以传输媒介为例,规范中明确列出了可用的电缆类型,例如单绞屏蔽电缆(STP)和双绞线(UTP),以及它们的连接器规格,为实际应用中的选择提供了参考。而信号传输参数的设定,如位时间的划分和同步段的安排等,直接关联到数据传输的准确性与速率,对于实现高速且可靠的通信至关重要。在电气接口方面,ISO 11898-2规范定义了CAN总线的电平信号标准,规定了高电平和低电平的电压区间,以及总线活动与空闲状态下的电气特征。这些规定确保了不同制造商的设备之间能够正确地进行通信。同时,规范还涉及到了总线终端电阻的设置,这是减少信号反射并保证信号完整性的重要措施。终端电阻配置不当可能导致通信质量下降,甚至引发网络故障。电磁兼容性(EMC)在现代电子系统中是一个必须重视的议题。ISO 11898-2规范中详细说明了CAN...

2,748

社区成员

发帖
与我相关
我的任务
社区描述
VFP,是Microsoft公司推出的数据库开发软件,用它来开发数据库,既简单又方便。
社区管理员
  • VFP社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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