datagroup表中有testid,engineid,guidaoid,pointid,testbay,testsupervisor,testtype,和groupid。
其中groupid=testid+engineid+guidaoid+pointid。再数据库中已经定义好。
在分析查看器中执行
insert into datagroup(testid,engineid,guidaoid,pointid,testbay,testsupervisor,testtype) values ('2','12','1','ZHSH','2','2','2')成功。
在vc中 strsql="insert into datagroup(testid,engineid,guidaoid,pointid,testbay,testsupervisor,testtype) values ('21','13','1','ZHSH','2','2','2')";
m_pCommand.CreateInstance("ADODB.Command");
m_pCommand->ActiveConnection =theApp.m_pConnection;
m_pCommand->CommandText=_bstr_t(strsql);
m_pCommand->Execute(NULL, NULL,adCmdText);
m_pCommand.Release();
程序execute不成功。
而另外一个表 userinfo,由于没有函数关系,使用同样的insert into语句,使用execute就能成功?为什么?谁能帮我解决以下。
------解决方案--------------------
--如果你的字段都是字符型,没有问题,测试如下:
create table #t
(
testid varchar(100),
engineid varchar(100),
guidaoid varchar(100),
pointid varchar(100),
testbay varchar(100),
testsupervisor varchar(100),
testtype varchar(100),
groupid as (testid+engineid+guidaoid+pointid)
)
insert into #t(testid,engineid,guidaoid,pointid,testbay,testsupervisor,testtype)
values ('2','12','1','ZHSH','2','2','2')
select * from #t
drop table #t
------解决方案--------------------
ADO更新必须有关键字。
------解决方案--------------------
微软最新的ADO.Net更新后台时,也必须有关键字字段,否则提示错误。
------解决方案--------------------
没有关键字,系统更新数据库时,无法唯一确定数据行。
------解决方案--------------------
表需要有关键字。
如果无法唯一确定某一行数据,前台程序无法更新数据。
如果你实在找不到唯一确定一行数据的一个或多个字段,可以设置一个自动编号字段ID,作关键字。