在ACCESS数据库中,数字类型的字段能否换成文本类型的字段??

时间:2021-10-28 14:59:24
在做ASP开发使用SQL的添加命令的过程中:insert into 表名() values(),总是提示INSERT INTO语句的语法错误,重试了N次都还是出错,刚开始以为是哪个变量名写错了(比如说如果是文本类型的变量应该用:'"&变量&"',而数字类型的变量就可以去掉最外面的单引号就可以的),但是经过我一次又一次的检验,我写的没有错误。包括后来我又用了、添加到数据库的另一种方法:rs.addnew  rs.update,可惜的是,经过我的尝试,最后还是出错,而且我发觉都是字段类型为“数字”型的变量出错。。。后来干脆把数据库中所有字段类型为“数字”型的都改为“文本”型的,这时再新测试。靠,奇迹发生了,居然没有出错,而且无论是用INSERT INTO 方法添加,还是用后来的rs.addnew rs.update方法添加都成功了。。。此时,我得出的结论就是,是不是ACCESS数据库本身的问题呢?还是哪里需要设置?(我用的ACCESS是2003的),如果以后能把字段类型设置成文本的都设置成文本的岂不是很好?也不会出错,但是如果文本类型的太多了也不知道会有什么不妥??还请高手帮忙解答啊,先在此谢过了。。。。

11 个解决方案

#1


自己先顶一下,呵呵。。/

#2


 该用数字类型 就用数字类型 ,

该用文、本的就用文本

不能随便的
  当然有的东西是没有什么区别

 就像 点击量,
    数字类型 ,
但如果是用文本呢  会不会报错呢
  以前也没有测试过
  但肯定是可以,。
  只要转换就可以了

#3


是文本的话 用汇总之类的就比较麻烦 

#4


用文本型的话,数值计算的部分会比较麻烦,特别是排序,
10
会排在
7
8
9
前面

#5


我也知道,一般是数字的话,肯定用“数值”型会更好。。。但问题是,我这次只有是字段中包涵有“数值”类型的就会出错,提示“INSERT INTO语句有错误”,等把数值的改成文本后就没有问题了。。。我最想知道的是这是怎么回事呢???会不会是ACCESS数据库本身的问题呢???

#6


引用 4 楼 lzp4881 的回复:
用文本型的话,数值计算的部分会比较麻烦,特别是排序,
10
会排在
7
8
9
前面


能帮我具体分析下吗,谢谢了。

#7


难道就没有人来帮我解答下这个问题吗??/我实在是搞不出来了,,,还请高手帮忙。。。

#8


把代码贴出来啊,你肯定sql语句有问题

#9


引用 8 楼 beyond_me21 的回复:
把代码贴出来啊,你肯定sql语句有问题


哎,烦的很。。。文件现在没有在这台电脑上。。。。
晚点拿过来。。。。哎,耽误自己时间嘛不是。

#10


在做ASP开发使用SQL的添加命令的过程中:insert   into   表名()   values(),总是提示INSERT   INTO语句的语法错误,重试了N次都还是出错,刚开始以为是哪个变量名写错了(比如说如果是文本类型的变量应该用: ' "&变量& " ',而数字类型的变量就可以去掉最外面的单引号就可以的),但是经过我一次又一次的检验,我写的没有错误。包括后来我又用了、添加到数据库的另一种方法:rs.addnew     rs.update,可惜的是,经过我的尝试,最后还是出错,而且我发觉都是字段类型为“数字”型的变量出错。。。后来干脆把数据库中所有字段类型为“数字”型的都改为“文本”型的,这时再新测试。靠,奇迹发生了,居然没有出错,而且无论是用INSERT   INTO   方法添加,还是用后来的rs.addnew   rs.update方法添加都成功了。。。此时,我得出的结论就是,是不是ACCESS数据库本身的问题呢?还是哪里需要设置?(我用的ACCESS是2003的),如果以后能把字段类型设置成文本的都设置成文本的岂不是很好?也不会出错,但是如果文本类型的太多了也不知道会有什么不妥??

以下是我的HTML代码,还请高手帮忙分析下哈。。。

<%@codepage = 936%>
<!--#include file="../include/function.asp"-->
<!--#include file="conn.asp"-->
<!--#include file="fckeditor/fckeditor.asp"-->
<%
response.charset="GBK"
if session("admin")="" then
call sussLoctionHref("非法登录","admin_login.asp")
end if
dim picdir
picdir = "goods"

if request.form("send") = "添加商品" then
dim rs,sql,goodsname,goodscode,goodsweight,goodsnumber,goodsnew,goodshot,goodsfast,goodsunit,goodsprice1,goodsprice2,picdir1,picdir2,goodspoint,goodsinfo,goodscontent
goodsname=request.form("goodsname")
goodscode=request.form("goodscode")
goodsweight=request.form("goodsweight")
goodsnumber=request.form("goodsnumber")
goodsnew=request.form("goodsnew")
goodshot=request.form("goodshot")
goodsfast=request.form("goodsfast")
goodsunit=request.form("goodsunit")
  goodsprice1=request.form("goodsprice1")
  goodsprice2=request.form("goodsprice2")


picdir1=request.form("picdir1")
picdir2=request.form("picdir2")
goodsinfo=request.form("goodsinfo")
goodscontent=request.form("goodscontent")

if goodsnew=1 then
goodsnew =  true
elseif goodsnew="" then
goodsnew = false
    end if
    
    
    
if goodshot=1 then
goodshot =  true
elseif goodshot="" then
goodshot = false
    end if
    
    
    if goodsfast= 1 then
     goodsfast= true
    elseif goodsfast="" then
     goodsfast=false
    end if
    
    if goodsunit= "" then
     goodsunit="个"
    end if
    
   set rs=server.createobject("adodb.recordset")
   sql="select * from goods"
   rs.open sql,conn,1,3

    rs.addnew
    rs("goods_name")=goodsname
    rs("goods_code")=goodscode
    rs("goods_weight")=goodsweight
    rs("goods_number")=goodsnumber
    rs("goods_new")=goodsnew
    rs("goods_hot")=goodshot
    rs("goods_fast")=goodsfast
    rs("goods_unit")=goodsunit
   rs("goods_price1")=goodsprice1
    rs("goods_price2")=goodsprice2
    rs("goods_pic1")=picdir1
    rs("goods_pic2")=picdir2
    rs("goods_info")=goodsinfo
    rs("goods_content")=goodscontent
    rs.update
    
    call close_rs
    
response.write "<script>alert('商品发布成功!');location.href='admin_add_goods.asp'</script>"     
  end if
%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>后台管理</title>
<link rel="stylesheet" type="text/css" href="style/admin.css" />
</head>
<body>
<div id="addnew">
<h3 style="text-align:center;color:red;margin:20px;">添加商品</h3>
<form method="post" name="add" action="admin_add_goods.asp">
<p>商品名称:<input type="text" name="goodsname" class="text" /></p>
<p>商品编号:<input type="text" name="goodscode" class="text" /></p>
<p>商品重量:<input type="text" name="goodsweight" class="text1" /> kg</p>
<p>商品库存:<input type="text" name="goodsnumber" class="text1" /></p>
<p>加入推荐:<input type="checkbox" name="goodsnew" value="1" /> 新品 <input type="checkbox" name="goodshot" value="1" /> 热卖 <input type="checkbox" name="goodsfast" value="1" /> 速递</p>
<p>商品单位:<input type="text" name="goodsunit" class="text1" /></p>
<p>市场价格:<input type="text" name="goodsprice1" class="text1" /> 元</p>
<p>本店价格:<input type="text" name="goodsprice2" class="text1" /> 元</p>
<p>赠送积分:<input type="text" name="goodspoint" class="text1" /> </p>
<p>上传小图:<input type="text" readonly="readonly" name="picdir1" /> <a href="###" onclick="javascript:open('upfile.asp?picdir=<%=picdir%>','upfile','width=400,height=200')">上传</a></p>
<p>上传大图:<input type="text" readonly="readonly" name="picdir2" /> <a href="###" onclick="javascript:open('upfile2.asp?picdir=<%=picdir%>','upfile','width=400,height=200')">上传</a></p>
<p>商品简介:<textarea name="goodsinfo"></textarea></p>
<p>详细内容:</p>
<p>
<%
Dim oFCKeditor
Set oFCKeditor = New FCKeditor '创建一个编辑器的实例
oFCKeditor.BasePath = "fckeditor/" '配置编辑器的路径,我站点根目录下的一个目录
oFCKeditor.ToolbarSet = "Default" '完整和简化.Basic
oFCKeditor.Width = "100%" '编辑器的长度
oFCKeditor.Height = "400" '编辑器的高度
oFCKeditor.Value = "" '这个是给编辑器初始值
oFCKeditor.Create "goodscontent" '以后编辑器里的内容都是由这个content 取得
%>
</p>
<p><input type="submit" value="添加商品" name="send" class="submit" /></p>
</form>
</div>
</body>
</html>


数据库中表[goods]的字段有:goods_id,goods_name,goods_code,goods_weight,goods_number,goods_new,goods_hot,goods_fast,goods_unit,goods_price1,goods_price2,goods_point,goods_pic1,goods_pic2,goods_info,goods_content.其中goods_weight,goods_number,goods_point是数字型的,goods_new,goods_hot,goods_fast是“是/否”型的,goods_price1,goods_price2是货币型的,其它的都是文本型的。

#11


代码已经贴出来了,谢谢各位了。。

#1


自己先顶一下,呵呵。。/

#2


 该用数字类型 就用数字类型 ,

该用文、本的就用文本

不能随便的
  当然有的东西是没有什么区别

 就像 点击量,
    数字类型 ,
但如果是用文本呢  会不会报错呢
  以前也没有测试过
  但肯定是可以,。
  只要转换就可以了

#3


是文本的话 用汇总之类的就比较麻烦 

#4


用文本型的话,数值计算的部分会比较麻烦,特别是排序,
10
会排在
7
8
9
前面

#5


我也知道,一般是数字的话,肯定用“数值”型会更好。。。但问题是,我这次只有是字段中包涵有“数值”类型的就会出错,提示“INSERT INTO语句有错误”,等把数值的改成文本后就没有问题了。。。我最想知道的是这是怎么回事呢???会不会是ACCESS数据库本身的问题呢???

#6


引用 4 楼 lzp4881 的回复:
用文本型的话,数值计算的部分会比较麻烦,特别是排序,
10
会排在
7
8
9
前面


能帮我具体分析下吗,谢谢了。

#7


难道就没有人来帮我解答下这个问题吗??/我实在是搞不出来了,,,还请高手帮忙。。。

#8


把代码贴出来啊,你肯定sql语句有问题

#9


引用 8 楼 beyond_me21 的回复:
把代码贴出来啊,你肯定sql语句有问题


哎,烦的很。。。文件现在没有在这台电脑上。。。。
晚点拿过来。。。。哎,耽误自己时间嘛不是。

#10


在做ASP开发使用SQL的添加命令的过程中:insert   into   表名()   values(),总是提示INSERT   INTO语句的语法错误,重试了N次都还是出错,刚开始以为是哪个变量名写错了(比如说如果是文本类型的变量应该用: ' "&变量& " ',而数字类型的变量就可以去掉最外面的单引号就可以的),但是经过我一次又一次的检验,我写的没有错误。包括后来我又用了、添加到数据库的另一种方法:rs.addnew     rs.update,可惜的是,经过我的尝试,最后还是出错,而且我发觉都是字段类型为“数字”型的变量出错。。。后来干脆把数据库中所有字段类型为“数字”型的都改为“文本”型的,这时再新测试。靠,奇迹发生了,居然没有出错,而且无论是用INSERT   INTO   方法添加,还是用后来的rs.addnew   rs.update方法添加都成功了。。。此时,我得出的结论就是,是不是ACCESS数据库本身的问题呢?还是哪里需要设置?(我用的ACCESS是2003的),如果以后能把字段类型设置成文本的都设置成文本的岂不是很好?也不会出错,但是如果文本类型的太多了也不知道会有什么不妥??

以下是我的HTML代码,还请高手帮忙分析下哈。。。

<%@codepage = 936%>
<!--#include file="../include/function.asp"-->
<!--#include file="conn.asp"-->
<!--#include file="fckeditor/fckeditor.asp"-->
<%
response.charset="GBK"
if session("admin")="" then
call sussLoctionHref("非法登录","admin_login.asp")
end if
dim picdir
picdir = "goods"

if request.form("send") = "添加商品" then
dim rs,sql,goodsname,goodscode,goodsweight,goodsnumber,goodsnew,goodshot,goodsfast,goodsunit,goodsprice1,goodsprice2,picdir1,picdir2,goodspoint,goodsinfo,goodscontent
goodsname=request.form("goodsname")
goodscode=request.form("goodscode")
goodsweight=request.form("goodsweight")
goodsnumber=request.form("goodsnumber")
goodsnew=request.form("goodsnew")
goodshot=request.form("goodshot")
goodsfast=request.form("goodsfast")
goodsunit=request.form("goodsunit")
  goodsprice1=request.form("goodsprice1")
  goodsprice2=request.form("goodsprice2")


picdir1=request.form("picdir1")
picdir2=request.form("picdir2")
goodsinfo=request.form("goodsinfo")
goodscontent=request.form("goodscontent")

if goodsnew=1 then
goodsnew =  true
elseif goodsnew="" then
goodsnew = false
    end if
    
    
    
if goodshot=1 then
goodshot =  true
elseif goodshot="" then
goodshot = false
    end if
    
    
    if goodsfast= 1 then
     goodsfast= true
    elseif goodsfast="" then
     goodsfast=false
    end if
    
    if goodsunit= "" then
     goodsunit="个"
    end if
    
   set rs=server.createobject("adodb.recordset")
   sql="select * from goods"
   rs.open sql,conn,1,3

    rs.addnew
    rs("goods_name")=goodsname
    rs("goods_code")=goodscode
    rs("goods_weight")=goodsweight
    rs("goods_number")=goodsnumber
    rs("goods_new")=goodsnew
    rs("goods_hot")=goodshot
    rs("goods_fast")=goodsfast
    rs("goods_unit")=goodsunit
   rs("goods_price1")=goodsprice1
    rs("goods_price2")=goodsprice2
    rs("goods_pic1")=picdir1
    rs("goods_pic2")=picdir2
    rs("goods_info")=goodsinfo
    rs("goods_content")=goodscontent
    rs.update
    
    call close_rs
    
response.write "<script>alert('商品发布成功!');location.href='admin_add_goods.asp'</script>"     
  end if
%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>后台管理</title>
<link rel="stylesheet" type="text/css" href="style/admin.css" />
</head>
<body>
<div id="addnew">
<h3 style="text-align:center;color:red;margin:20px;">添加商品</h3>
<form method="post" name="add" action="admin_add_goods.asp">
<p>商品名称:<input type="text" name="goodsname" class="text" /></p>
<p>商品编号:<input type="text" name="goodscode" class="text" /></p>
<p>商品重量:<input type="text" name="goodsweight" class="text1" /> kg</p>
<p>商品库存:<input type="text" name="goodsnumber" class="text1" /></p>
<p>加入推荐:<input type="checkbox" name="goodsnew" value="1" /> 新品 <input type="checkbox" name="goodshot" value="1" /> 热卖 <input type="checkbox" name="goodsfast" value="1" /> 速递</p>
<p>商品单位:<input type="text" name="goodsunit" class="text1" /></p>
<p>市场价格:<input type="text" name="goodsprice1" class="text1" /> 元</p>
<p>本店价格:<input type="text" name="goodsprice2" class="text1" /> 元</p>
<p>赠送积分:<input type="text" name="goodspoint" class="text1" /> </p>
<p>上传小图:<input type="text" readonly="readonly" name="picdir1" /> <a href="###" onclick="javascript:open('upfile.asp?picdir=<%=picdir%>','upfile','width=400,height=200')">上传</a></p>
<p>上传大图:<input type="text" readonly="readonly" name="picdir2" /> <a href="###" onclick="javascript:open('upfile2.asp?picdir=<%=picdir%>','upfile','width=400,height=200')">上传</a></p>
<p>商品简介:<textarea name="goodsinfo"></textarea></p>
<p>详细内容:</p>
<p>
<%
Dim oFCKeditor
Set oFCKeditor = New FCKeditor '创建一个编辑器的实例
oFCKeditor.BasePath = "fckeditor/" '配置编辑器的路径,我站点根目录下的一个目录
oFCKeditor.ToolbarSet = "Default" '完整和简化.Basic
oFCKeditor.Width = "100%" '编辑器的长度
oFCKeditor.Height = "400" '编辑器的高度
oFCKeditor.Value = "" '这个是给编辑器初始值
oFCKeditor.Create "goodscontent" '以后编辑器里的内容都是由这个content 取得
%>
</p>
<p><input type="submit" value="添加商品" name="send" class="submit" /></p>
</form>
</div>
</body>
</html>


数据库中表[goods]的字段有:goods_id,goods_name,goods_code,goods_weight,goods_number,goods_new,goods_hot,goods_fast,goods_unit,goods_price1,goods_price2,goods_point,goods_pic1,goods_pic2,goods_info,goods_content.其中goods_weight,goods_number,goods_point是数字型的,goods_new,goods_hot,goods_fast是“是/否”型的,goods_price1,goods_price2是货币型的,其它的都是文本型的。

#11


代码已经贴出来了,谢谢各位了。。