首页 新闻 论坛 群组 Blog 文档 下载 读书 Tag 网摘 搜索 .NET Java 游戏 视频 人才 外包 培训 数据库 书店 程序员
中国软件网
欢迎您:游客 | 登录 注册 帮助
  • GridView1里的值怎么转换为bit啊!!!高手来!! [已结贴,结贴人:tianshimeng724]
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-04-16 00:41:31 楼主
    我的数据库有一字段为Bit类型,在GridView显示为check控件,修改过数据后,我不知道怎么把这写到数据库!!
    代码:
    protected void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e)
        {
            string str = "update users set yanzheng='" + (Text)(GridView1.Rows[e.RowIndex].Cells[10].Controls[0]).ToString() + "'";
            sql.DataCom(str);
            str = "select * from users";
            this.GridView1.DataSource = sql.DataSetOne(str);
            this.GridView1.DataBind();
        }
    (Text)(GridView1.Rows[e.RowIndex].Cells[10].Controls[0]).ToString() 不行,哪个高手能解决??


    30  修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-04-16 00:52:531楼 得分:0
    byte check;
    if (GridView1.Rows[e.RowIndex].Cells[10].Controls[0]).ToString() == "true")
        check = 1;
    else
        check = 0;

    string str = "update users set yanzheng='" + check.Tostring() + "'";
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-04-16 02:02:472楼 得分:0
    C# code
    //未查有无Convert.ToByte(object),若无 byte tempByte = (byte)Convert.ToInt32(GridView1.Rows[e.RowIndex].Cells[10].Controls[0]).ToString()); string str = "update users set yanzheng=" + tempByte + "";
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-04-16 02:14:553楼 得分:10
    可以直接使用

    Convert.ToByte();
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-04-16 08:08:324楼 得分:20
    将Check列转换成模版。

    checkBox cb=(CheckBox)GridView1.Rows[e.RowIndex].Cells[10].FindControl("CheckBox1");
    if(cb!=null)
    {
      if(cb.Checked)
    {
      str = "update users set yanzheng='0'" ;
    }
    else
    {
      str="update users set yanzheng='1'" ;
    }

    }
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • syeerzy
    • 等级:
    发表于:2008-04-16 08:31:495楼 得分:0
    请不要在页面上拼凑Sql字符串 . 如果你没有数据库访问层或ORM代码可以复用最不济你也可以用个数据源控件.
    再不行你要写Sql在页面里也请使用@参数, 则不存在这个问题,因为这本来就是个bool值,是直接插入bit型字段的.

    你这个代码安全性接近0....随时准备被注入吧~~~~~~~~~~


    只要保存你的客户端html页面,修改控件值(注入攻击),用base64重新编码一次试图状态,然后向服务器post,你的数据库就完了...
    修改 删除 举报 引用 回复

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