sql语句中添加数据记录的insert
into的注意事项
Sql_SQL00 = " insert into "
& Mytable_SQL00 & "" _
& " values('" & A & "','" & B
& "','" & C & "','" & D & "','" & E &
"','" & F & "','" & G & "','" & H & "','"
& I & "','" & J & "','" & K & "','" & L
& "','" & M & "','" & N & "')"
1.一定要检查 插入数据的数据表中字段的个数,
和
插入的内容的个数是否一致(比如:一个数据表有3个字段,但是插入语句中values(),中只有2个字段,就会出错
错误提示: 运行时错误
'-2147217900(8004e14): 插入错误: 列明或所提供的值的数据与表定义不匹配'
如下图:
2.其他错误:
注意:插入的字段的内容和数据表中,字段的类型是否一致,
比如:
文本类型的字段:values()中的字段
要两边加上
单引号
日期类型的字段:values()中的字段
要两边加上 单引号
数值类型的字段:values()中的字段
两种情况都可行
1>. 不要两边加上 单引号
可行
2>.
要两边加上
单引号
也可行
布尔类型的字段:values()中的字段
两种情况
1>. 填写
true或false,则两边必加
单引号(如果不加会不能插入)
2>.
填写 1或0
,则两边 加不加
单引号(都可以插入)
综上所述:
在试用insert into
时,最简单的方法,不管是什么类型的字段,两边全部加上 单引号,
这样都可行
实际测试可参考如下sql语句:
create table AAA
(
文本1 nvarchar(50) not null ,
整数1 tinyint not null,
布尔1 bit not null,
货币1 money
)
--查询<数据>
select * from
AAA
--删除<数据表>
drop table AAA
--删除<数据>
delete from AAA
--插入数据--测试1>.
两边全部带上 单引号,
可行
insert into AAA
VALUES('文本1' , '1'
, 'true' ,
'123.12' )
--插入数据--测试2>.
布尔类型的数据,如果用true或false,插入的时候,如果两边
去掉
单引号,则不能导入,会提示:列名 'true' 无效。(两边加上单引号可行)
insert into AAA
VALUES('文本1' , '1'
, true ,
'123.12'
)
--插入数据--测试3>.
布尔类型的数据, 将true或false改为
0或1,并 去掉两边的 单引号
;可行
insert into
AAA
VALUES('文本1' , 1
, 1 , 123.12
)
--插入数据--测试4>.
数字型的数据, 去掉两边的
单引号 ;可行
insert into AAA
VALUES('文本1' , 3
, '1' ,
123.12 )
--插入数据--测试5>.
数字型的数据, 去掉两边的
单引号 ;可行
insert into AAA
VALUES('文本1' , 3
, 1 , 123.12
)
-----------------------------------
加载中,请稍候......