不是啊,我循环时用的是adotable1.next;
现在用的是access数据库,原来做asp时用SQL数据库也遇到过,把数据导入到sql 数据库中之后,到数据库里进行修改,有些记录就修改不了,出现同样的错误信息。
怎么解决啊?
现在用的是access数据库,原来做asp时用SQL数据库也遇到过,把数据导入到sql 数据库中之后,到数据库里进行修改,有些记录就修改不了,出现同样的错误信息。
怎么解决啊?
解决方案 »
- 还有个莫名其妙的问题 程序第一次运行自动暂停
- 个位虾哥,帮我解决图标问题好不
- 使用activex控件的程序,用户安装时,有什么特别要求,必须注册activex控件吗?
- 怎么实现自动更新版本
- 急用!!! 我想通过dbChart输出位图bmp(16(4bit))文件,但通过‘dbchart1.SaveToBitmapFile(); ’后输出文件总是‘Default’类型的bmp
- 怎样使用setparent,getparent设置子窗体父窗体?
- 用SQL语言导入数据的问题
- 先谢谢大家了!!求源码
- 一个关于DBGrid的问题,请高手指教!
- 关于文件的查找!!
- 一个真正的高难度问题,不是专家级的请不要进
- 怎样判断numlock开启了?
在其他table里也用过 ?
在Oracle下我遇见过类似的问题 不知道你的情况是否如此。
因为ADO更新数据时,默认以键列字段和修改的字段为条件修改数据。如表A结构: ID: Integer not null primary key, Name: Varchar(30) not null
当使用ADOTable来修改这个表时,它会自动生成类似于SQL语句来更新数据:
KeyField设置为ID:
修改ID: Update A set ID=[newid] where ID=[oldid];
修改Name: Update A set Name=[newname] where ID=[oldid] and Name=[oldname];KeyField设置为Name:
修改ID: Update A Set ID=[newid] where Name=[oldname] and ID=[oldid];
修改Name: Update A Set Name = [newname] where Name=[oldname];请注意当KeyField设置为Name时生成的SQL语句,由于Name的值不一定唯一(重命的现象时有发生),这样查询出来的数据有多条,就是说要更新很多条数据。ADO会提出警告,避免出现这样的情况。要解决问题很简单,就是把你的KeyField设置为表的主键即可。
当然,也可以修改ADOTable的动态属性,以修改ADO生成SQL语句的规则。
另外,怎样修改adotable的动态属性?
现在的问题是adotable1是动态建立的,所以我才问怎样用sql语句设置它的主键。或者是怎样修改adotable1的动态属性。
Create table student
(
--学生ID,主键
stuID int primary key not null,
--学生姓名
stuName char(10) not null,
--学生性别,缺省值为0(男)
stuSex smallint default 0
check(stuSex >= 0 and stuSex <= 1),
--学生年龄,规定不能大于20岁
stuAge int not null
check(stuAge <= 20),
--学生班级
stuClass int,
--学生家庭住址
stuAddress char(50)
);关于你所说的adotable的动态属性,我不知道你指的是什么?暂时就这样吧,希望能够对你有所帮助!呵呵
create table table1
{Sno CHAR(8) NOT NULL UNIQUE,
Sname char(20)
}
:)
在sql server中是int型,另外要设置标识为是,递增量为1。
我用的就是access,怎样在程序里设置自动编号?