首页 新闻 论坛 群组 Blog 文档 下载 读书 Tag 网摘 搜索 .NET Java 游戏 视频 人才 外包 培训 数据库 书店 程序员
中国软件网
欢迎您:游客 | 登录 注册 帮助
  • 插入字符串长度问题出错请教 [已结帖,结帖人:xqwangseu]
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • xqwangseu
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    • 结帖率:
    发表于:2008-11-18 23:57:40 楼主
    C/C++ code
    /****************************************************************** 目的是把一个有2048个字符的字符串输入到数据库对应字段code中 为MFC中向SQLSERVER2005, *********************************************************************/ char code[2048]="0";//定义,赋值部分就不写了,由另外一个函数实现,赋值是成功的,2048个字符 CString sql,ccode; ccode=code; sql.Format("Insert into iriscode(code) " "VALUES(%s)",ccode);//这个地方这么写对吗?ccode有2048个字符,数据库表对应字段设置的是varchar(2049),为什么一向数据库对应字段写入就提示说“以“1010010101010010100001111111111111111111…………”开头的数字太长,最大长度为128”,我把CString ccode改成一个比较短的字符串就可以成功写入字段 mdb.ExecuteSQL(sql);

    请教各位,疑惑中
    50  修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • qianjin036a
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-11-19 00:04:131楼 得分:0
    表的code列的数据类型是什么?
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • dawugui
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    • 3

      3

    发表于:2008-11-19 00:05:262楼 得分:0
    问问C语言那边的人吧.
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • qianjin036a
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-11-19 00:09:153楼 得分:0
    建议:
    把这一句:
          ccode=code;
    重写,对ccde直接赋一个字符串常量试试.
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • happyflystone
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    • 4

    发表于:2008-11-19 00:19:124楼 得分:0
    code[2047]="\0";
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • butchroller
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-11-19 00:30:045楼 得分:40

    C/C++ code
    sql.Format("Insert into iriscode(code) VALUES('%s')",ccode);
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • wufeng4552
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    • 2

      2

    发表于:2008-11-19 07:56:306楼 得分:0
    引用 2 楼 dawugui 的回复:
    问问C语言那边的人吧.

    ...
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • hyde100
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-11-19 08:00:327楼 得分:0
    关注
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • xqwangseu
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-11-19 08:12:148楼 得分:0
    表中code字段类型是varchar(2048)
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • linux_ch
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-11-19 08:47:139楼 得分:0
    ccode包含不包含中文什么的?
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • maco_wang
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-11-19 09:21:3210楼 得分:0
    有2048个字符的字符串?
    你这里指的字符是什么?数字?字母?还是汉字?
    如果是汉字就是4096字节,用varchar(5000)就行。
    如果不包含汉字就是2048字节,用varchar(3000)就行。
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • maco_wang
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-11-19 09:25:0511楼 得分:10
    SQL code
    DECLARE @one varchar(10) SET @one='忽如一夜春风来千树万树梨花开' DECLARE @two nvarchar(10) SET @two='忽如一夜春风来千树万树梨花开' SELECT @one 'varchar', @two 'nvarchar' /*结果 varchar nvarchar ---------- ---------- 忽如一夜春 忽如一夜春风来千树万 */

    感觉好像是楼主没有很好的理解varchar(n)的范围。
    http://blog.csdn.net/maco_wang/archive/2008/06/30/2597151.aspx
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • lifeiping
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-11-19 09:52:3512楼 得分:0
    引用 3 楼 qianjin036a 的回复:
    建议:
    把这一句:
          ccode=code;
    重写,对ccde直接赋一个字符串常量试试.

    ...
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • xqwangseu
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-11-19 13:13:4813楼 得分:0
    C/C++ code
    sql.Format("Insert into iriscode(code) VALUES(%s)",ccode);//

    改成这样就好了

    我是半路出家的,呵呵,程序写的真的很菜

    谢谢大家参与

    修改 删除 举报 引用 回复

    网站简介广告服务网站地图帮助联系方式诚聘英才English 问题报告
    北京创新乐知广告有限公司 版权所有 京 ICP 证 070598 号
    世纪乐知(北京)网络技术有限公司 提供技术支持
    Copyright © 2000-2008, CSDN.NET, All Rights Reserved