以文本方式查看主题
- Foxtable(狐表) (http://foxtable.net/bbs/index.asp)
-- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2)
---- [求助]手机显示ID和实际_Identify不符的问题? (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=147483)
|
-- 作者:新福星
-- 发布时间:2020/3/18 7:55:00
-- [求助]手机显示ID和实际_Identify不符的问题?
手机一个项目。按照教材引用了一段程序。指定的主键 .Primarykey = "ID" ,ID是由"_Identify"转换而来。ID在手机上已经显示出来了,见下图。
可是发现ID和真实的"_Identify“不一样。表中的ID是事后用由下段程序产生的;手机屏幕上的ID 是由_Identify As ID来的。
因为使用的是SQL语言,所以表里的ID没有实时产生。怎么解决呢?谢谢!也尝试直接用_Identify为主键,依然如此。
For Each a As Row In Tables(bm).Rows a("ID")=a("_Identify") Next
此主题相关图片如下:qq图片20200318074252.png
此主题相关图片如下:qq图片20200318074446.png
[此贴子已经被作者于2020/3/18 7:56:28编辑过]
|
-- 作者:有点蓝
-- 发布时间:2020/3/18 8:58:00
--
数据库里id为4036的是什么数据?这种要提供数据和项目测试才知道是什么原因了
|
-- 作者:新福星
-- 发布时间:2020/3/18 9:30:00
--
ID=4036就是这段程序里面自动产生出来的。这段程序产生的ID和真正的_Identify不一样!
此主题相关图片如下:qq图片20200318074446.png
|
-- 作者:新福星
-- 发布时间:2020/3/18 9:39:00
--
这个表的ID是因为发现用程序引入的_Identify和实际查看到_Identify不一样,才后续加的。主要是查一下_Identify的值!
数据库里的ID是用程序
For Each a As Row In Tables(bm).Rows a("ID")=a("_Identify") Next
写出来的;手机显示是用 _Identify As ID出来的。理论上应该完全一致。但实际上不一样!
用SQL Into 插入记录之后 _Identify会自动产生么?
|
-- 作者:有点蓝
-- 发布时间:2020/3/18 9:47:00
--
_Identify保存后才是真正的值,没有保存前都是临时值,下面这种代码应该在保存后再使用
Tables(bm).save For Each a As Row In Tables(bm).Rows a("ID")=a("_Identify") Next
|
-- 作者:新福星
-- 发布时间:2020/3/18 9:57:00
--
是的ID列就是保存后再重新设置ID的值。
换个思路。这是服务器后台程序。多用户在使用,所以尽量都在用SQL语句。
这个表里有独立的ID列,如何使用SQL修改语句使ID和_Identify一样?
现在的问题是 用SQL _Identify As ID 出的值和把_Identify 赋值给ID列,这两种方法得到的值是不一样的;所以再用ID查_Identify 就查不到了!
|
-- 作者:有点蓝
-- 发布时间:2020/3/18 10:08:00
--
_Identify As ID 得到的肯定是真正的_Identify 值,不可能有错。如果表格已经有一个ID列,建议改一下不要使用同名,如:_Identify As ID2 。
我觉得问题应该不在这里,可能是代码逻辑的问题。另外确定数据库里_Identify是自增的列?
|
-- 作者:新福星
-- 发布时间:2020/3/18 10:25:00
--
也想到了可能ID重名问题。我刚刚把_Identify As ID1 了。这个不是真正的_Identify ,随后我在数据库加载后,用程序
For Each a As Row In Tables(bm).Rows a("ID")=a("_Identify") Next
得到的ID和ID1是不一样的;
逻辑是这样 有一个表A;先将指定范围的数据删除了;然后使用SQL INto加入数据(确切这种加入_Identify会形成么?);然后按照教课书上的例子 读取指定页码记录序号 其中将_Identify As ID1列,然后加入到了手机表格中;
接下的工作就是另一个程序用_Identify=ID1读这表A的数据,但是读不到;接着在数据库加载表A后,用程序
For Each a As Row In Tables(bm).Rows a("ID")=a("_Identify") Next 就会看到ID的值和手机显示的ID1是不一样的;
也直接使用_Identify不用ID1,主键用的是_Identify,仍然是这样,读不出来!
[此贴子已经被作者于2020/3/18 10:27:26编辑过]
|
-- 作者:有点蓝
-- 发布时间:2020/3/18 10:36:00
--
不可能,_Identify As ID1 了。绝对是真正的_Identify!!!是不是接到其他数据库了
|
-- 作者:新福星
-- 发布时间:2020/3/18 11:08:00
--
怎数据库没有接错。就是用的1楼的那段程序;不用ID1 直接用_Identify 作为主键,转到下个模块是正确的。
但是用这个得到的数找_Identify,就找不到了!接着用把_Identify赋值ID列,看到的就是不同的值!
刚才我用下面的程序强制把ID赋值了
此主题相关图片如下:qq图片20200318110630.png
还是不行!
真的好奇怪!
|