-
标准表达式中数据类型不匹配
(Access)
58.54.35.*
?
2008-3-17
22:52
?
回复
1
楼
在
p>
Access
中,是无法使用存储过程的,但可以使用文本
命令,如
update news set title=@title,types=@typ
es,context=@contex
t where
id=@id
ID
字段类型为自动增
加,这句语句放在
sql
里是不会有问题的,
< br>但在
access
却有一个明显的错误:
标准表达式中数据类型不匹配(另外一种结果就是不会
更新该条记录
)
而造成的这个问题的原因就在于
id
的字
段类型,在
acc
ess where id=@id
如果
id
类型为数字,
那么就不能存在
''
(在
sql
这里
< br>''
是指定一个字段的值用,
如
'aaa'),
而上面的文本命令的最后执行结果是
updat
e new
s set title='
标题
< br>',types='
类型
'
,context='
内容
' where id='1' <
/p>
,
不知道这种错误算什么错误
:(
而正确的语句应该是
upd
ate
news set title='
标题
',types='<
/p>
类型
'
,context='
内容
' where
i
d=1
,
偏偏
delete
语句又不会出现上面所说的错误,
如:
delete from news where id=@id
发现数据库用
access
所花的编写代码的时间远远超出了
用
sql
p>
的代码编写时间,
而且用
access
p>
经常出现莫名错误,
更主要就是可能有非法字符如果不使用文本命令
就会执
行错误,怀念
sql
,
也遇到过,一开
始也是找不出任何原因,看了该文章后
才有所了解,呵呵。。。多谢了。。。但不知道作
者是
如何解决的,我这里有一个方法,就是:
sql =
ws set title=@title where id
=
此处先不在后面跟:
id =
@i
d
,而是另开一行:
sql =
sql + id
此处的
id
就是上面的
@id....
这样就可以解决了
-
-
-
-
-
-
-
-
-
上一篇:世界各大船舶公司LOGO
下一篇:船公司代码和中英文对照