insert into scbb values('31P918-77','水管','',,'2',1,'','CS16','','31F918-77☆1★22P551-01☆1★22P001B08☆1★46F795-01☆1★',3)scbb的结构为:
CREATE TABLE [dbo].[scbb] (
[partid] [nvarchar] (40) COLLATE Chinese_PRC_CI_AS NULL ,
[descript] [ntext] COLLATE Chinese_PRC_CI_AS NULL ,
[material] [ntext] COLLATE Chinese_PRC_CI_AS NULL ,
[length] [smallmoney] NULL ,
[quantity] [int] NULL ,
[isprint] [bit] NOT NULL ,
[desc2] [ntext] COLLATE Chinese_PRC_CI_AS NULL ,
[workstation] [nvarchar] (40) COLLATE Chinese_PRC_CI_AS NULL ,
[sqcode] [nvarchar] (30) COLLATE Chinese_PRC_CI_AS NULL ,
[material2] [ntext] COLLATE Chinese_PRC_CI_AS NULL ,
[worknumber] [int] NULL
)
问题出在那个length上,我是允许为空的,插入的SQL语句里也是空着的值,但执行就是出错(如果length填上数字就不会错),而且出错后会自动把'水管','',,'2'改成'水管','','2' 无故去掉一个“,”让我很奇怪。
CREATE TABLE [dbo].[scbb] (
[partid] [nvarchar] (40) COLLATE Chinese_PRC_CI_AS NULL ,
[descript] [ntext] COLLATE Chinese_PRC_CI_AS NULL ,
[material] [ntext] COLLATE Chinese_PRC_CI_AS NULL ,
[length] [smallmoney] NULL ,
[quantity] [int] NULL ,
[isprint] [bit] NOT NULL ,
[desc2] [ntext] COLLATE Chinese_PRC_CI_AS NULL ,
[workstation] [nvarchar] (40) COLLATE Chinese_PRC_CI_AS NULL ,
[sqcode] [nvarchar] (30) COLLATE Chinese_PRC_CI_AS NULL ,
[material2] [ntext] COLLATE Chinese_PRC_CI_AS NULL ,
[worknumber] [int] NULL
)
问题出在那个length上,我是允许为空的,插入的SQL语句里也是空着的值,但执行就是出错(如果length填上数字就不会错),而且出错后会自动把'水管','',,'2'改成'水管','','2' 无故去掉一个“,”让我很奇怪。
insert into scbb(partid,descript,......) values (......)
values('31P918-77','水管','',,2,1,'','CS16','','31F918-77☆1★22P551-01☆1★22P001B08☆1★46F795-01☆1★',3)改成上面这样,还是出错,郁闷了……
--------------
null和0是二个概念
insert into scbb(partid,descript,material,quantity,isprint,desc2,workstation,sqcode,material2,worknumber)
values('31P918-77','水管','',2,1,'','CS16','','31F918-77☆1★22P551-01☆1★22P001B08☆1★46F795-01☆1★',3)如果你指定插入length,必须是null或一个数值:
insert into scbb(partid,descript,material,length,quantity,isprint,desc2,workstation,sqcode,material2,worknumber)
values('31P918-77','水管','',null,2,1,'','CS16','','31F918-77☆1★22P551-01☆1★22P001B08☆1★46F795-01☆1★',3)