5

我在 SQL Server CE 3.5 中创建了一个小表

以下是表格说明:

ROW_ID NVARCHAR(30),
NAME NVARCHAR(30),
TEST BIT

我正在使用以下查询在表中插入记录:

insert into EMP(ROW_ID, NAME, TEST)
values('123', 'XYZ', TRUE);

但我收到一个奇怪的错误:

错误消息:列名无效。[节点名称(如果有)= ,列名称 = TRUE]

请帮我解决一下这个。

提前致谢。

4

3 回答 3

19

代替trueandfalse使用1and 0。例如:

insert into EMP(ROW_ID, NAME, TEST)
values('123','XYZ',1);

这是针对SQL Server 2005bit的:

字符串值 TRUE 和 FALSE 可以转换为位值:TRUE 转换为 1,FALSE 转换为 0。

你可以试试。如果它适用于 CE 以下代码('TRUE'作为字符串)也可能有效:

insert into EMP(ROW_ID, NAME, TEST)
values('123','XYZ', 'TRUE');
于 2013-06-16T18:58:31.267 回答
4

这没什么奇怪的。它的意思是不知道什么是TRUE。不是已知名称,也不是表中的列,因此出现错误消息。

用 1 表示真,0 表示假。

于 2013-06-16T19:00:49.347 回答
0

否则你可以这样尝试:

  insert into EMP(ROW_ID, NAME, TEST)
  values('123','XYZ',b1);    // b for bit type and 1 is the field value as (true)

or

  insert into EMP(ROW_ID, NAME, TEST)
  values('123','XYZ',0b1);   // 0b for bit type and 1 is the field value as (true)
于 2018-11-04T04:35:29.577 回答