| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 908 人关注过本帖
标题:为什么数据不能传送到数据库?数据库已经连接!
只看楼主 加入收藏
冷月烟云梦
Rank: 1
来 自:河南
等 级:新手上路
帖 子:14
专家分:0
注 册:2011-6-2
结帖率:75%
收藏
 问题点数:0 回复次数:6 
为什么数据不能传送到数据库?数据库已经连接!
为什么数据不能传送到数据库?数据库已经连接成功!在其他模块数据就能传送到数据库里,只有在这个模块不能,怎么回事呢?
   long ll_bookid,ll_publisherid,ll_words,ll_number,ll_price
    date ld_publish
    string ls_ISBN,ls_title,ls_author,ls_keyword,ls_abstract
//数据格式检验
if sle_bookid.text="" or isNull(sle_bookid.text) then
    messagebox ("缺少数据","请输入图书编号!")
    sle_bookid.setfocus()
    return
elseif sle_title.text="" or isnull(sle_title.text) then
    messagebox ("缺少数据","请输入图书名称!")
    sle_title.setfocus()
    return
end if
//检查图书编号有无重号
select BookInfo.BookID
into: ll_bookid
from BookInfo
where BookInfo.BookID=: ll_bookid;
if ll_bookid<>0 then
    messagebox("错误信息","图书编号第"+string(ll_bookid)+"号重号!请改正!")
    sle_bookid.setfocus()
    return
end if
      ls_ISBN=trim(sle_isbn.text)
        ls_title=trim(sle_title.text)
        ls_author=trim(sle_author.text)
        ls_keyword=trim(sle_keyword.text)
        ls_abstract=trim(mle_abstract.text)
//向数据库写入数据
insert into "BookInfo"
           ("BookID",
            "ISBN",
            "Title",
            "Publish",
            "Author",
                "Words",
            "PublisherID",
            "Number",
            "Price",
            "Keyword",
            "Abstract")
values(:ll_bookid,
       :ls_ISBN,
       :ls_title,
       :ld_publish,
       :ls_author,
       :ll_words,
       :ll_price,
       :ls_keyword,
       :ls_abstract);

//数据写入数据库后,将输入控件全部置空
        sle_bookid.text=""
        sle_ISBN.text=""
        sle_title.text=""
        sle_publish.text=""
        sle_author.text=""
        sle_words.text=""
        sle_publisherid.text=""
        sle_number.text=""
        sle_price.text=""
        sle_keyword.text=""
        mle_abstract.text=""
        sle_bookid.setfocus()//将光标放到“图书编号”输入栏
搜索更多相关主题的帖子: 数据库 long 
2011-06-22 09:02
go2011
Rank: 6Rank: 6
等 级:侠之大者
帖 子:56
专家分:445
注 册:2011-4-21
收藏
得分:0 
可能是因为 insert语句中列的数目(11个)大于 VALUES 子句中指定的值的数目(9个)
2011-06-22 16:16
冷月烟云梦
Rank: 1
来 自:河南
等 级:新手上路
帖 子:14
专家分:0
注 册:2011-6-2
收藏
得分:0 
回复 2楼 go2011
谢谢你啊!可能是值类型吧~
2011-06-23 09:42
路過
Rank: 3Rank: 3
等 级:论坛游侠
威 望:7
帖 子:160
专家分:111
注 册:2006-12-15
收藏
得分:0 
insert语句中列的数目(11个)大于 VALUES 子句中指定的值的数目(9个) ,不用附值的欄位 可以在into後面去掉。
語句執行完之後要commit;

2011-06-23 11:34
sfjhj1981
Rank: 2
等 级:新手上路
威 望:3
帖 子:6
专家分:0
注 册:2008-8-31
收藏
得分:0 
commit;
2011-06-23 13:50
Mackou991
Rank: 2
来 自:河南郑州
等 级:论坛游民
帖 子:33
专家分:20
注 册:2008-4-14
收藏
得分:0 
第一:注意事务提交,commit;
第二:注意判断sqlcode值。
2011-08-05 14:29
jimfeer
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2011-8-28
收藏
得分:0 
同意楼上的兄弟。
以前自己也有这样的习惯,没有跟踪写完的SQL语句。
if sqlca.sqlcode <> 0 then
    messagebox('erro',sqlca.sqlerrtext)
end if
这样就更方便在运行时查看是什么原因造成语句执行不正确。
2011-08-28 01:58
快速回复:为什么数据不能传送到数据库?数据库已经连接!
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.068235 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved