| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2657 人关注过本帖
标题:有关checkbox绑定问题....急...
只看楼主 加入收藏
zhanwenfu
Rank: 1
等 级:新手上路
帖 子:55
专家分:0
注 册:2008-1-15
收藏
 问题点数:0 回复次数:9 
有关checkbox绑定问题....急...
我是用VS03开发的
当使用
this.checkBox1.DataBindings.Add("Checked",ds,"djlx.限制图书");
绑定数据表中的一个Bit字段时出错...错误如下图

这是我绑定代码:在load事件中:
                     this.txtid.DataBindings.Add("Text",ds,"djlx.读者书类型编号");
            this.txtcate.DataBindings.Add("Text",ds,"djlx.读者类型");
            this.txtbnum.DataBindings.Add("Text",ds,"djlx.可借图书册数");
            this.txtrnum.DataBindings.Add("Text",ds,"djlx.可续借次数");
    
            //this.checkBox1.DataBindings.Add("Checked",ds,"djlx.限制图书");

                           bm=(CurrencyManager)this.BindingContext[ds,"djlx"];
            bm.Position=0;

在"新增"buttion 中:

if(e.Button.ToolTipText=="新增")
{        
bm.AddNew();            
}

出现以下图这种错误的原因是什么???应该怎么解决???
注:我就是想用checkbox与datagrid的字段绑定

1.jpg (54.35 KB)
图片附件: 游客没有浏览图片的权限,请 登录注册


2.jpg (53.77 KB)
图片附件: 游客没有浏览图片的权限,请 登录注册
搜索更多相关主题的帖子: checkbox 绑定 
2008-11-01 18:31
zhanwenfu
Rank: 1
等 级:新手上路
帖 子:55
专家分:0
注 册:2008-1-15
收藏
得分:0 
2008-11-02 00:11
zhanwenfu
Rank: 1
等 级:新手上路
帖 子:55
专家分:0
注 册:2008-1-15
收藏
得分:0 
.............
2008-11-03 18:37
zhanwenfu
Rank: 1
等 级:新手上路
帖 子:55
专家分:0
注 册:2008-1-15
收藏
得分:0 
今天终于找到原因了....不只是checkbox..还有日历那个控件也是这个问题
2008-11-08 20:50
machao514
Rank: 1
等 级:新手上路
帖 子:48
专家分:0
注 册:2007-4-14
收藏
得分:0 
万能的楼主,SOS , 求助 !

怎么把dataGridView的内容和数据库的表 绑定起来!

就是编辑、添加、删除后对应的数据库的表也编辑、添加、删除,反之亦然!
2008-11-08 23:35
zhanwenfu
Rank: 1
等 级:新手上路
帖 子:55
专家分:0
注 册:2008-1-15
收藏
得分:0 
哦...那个简单呀....
2008-11-10 20:07
zhanwenfu
Rank: 1
等 级:新手上路
帖 子:55
专家分:0
注 册:2008-1-15
收藏
得分:0 
首先....要在配置...InsertCommand,DeleteComand,UpdateCommand

//定义用来添加数据的命令字符串
                string strInsertComm = "insert into 读者类型(读者类型,可借图书册数,可续借次数,限制图书) Values(@cate,@bnum,@rnum,@bit)";

                da.InsertCommand=new SqlCommand();
                da.
                da.InsertCommand.Connection=cn;
            
                
                da.InsertCommand.Parameters.Add("@cate",SqlDbType.VarChar,20,"读者类型");
                da.InsertCommand.Parameters.Add("@bnum",SqlDbType.Int,4,"可借图书册数");
                da.InsertCommand.Parameters.Add("@rnum",SqlDbType.Int,4,"可续借次数");
                da.InsertCommand.Parameters.Add("@bit",SqlDbType.Bit,1,"限制图书");


                //定义用来删除数据的命令字符串
                string strDeleteComm = "Delete 读者类型 Where 读者类型编号=@id";
                da.DeleteCommand=new SqlCommand();
                da.
                da.DeleteCommand.Connection=cn;
                da.DeleteCommand.Parameters.Add("@id",SqlDbType.Int,4,"读者类型编号");


                //定义用来修改数据的命令字符串
                string strUpdateComm = "Update 读者类型 Set 读者类型=@cate,可借图书册数=@bnum,可续借次数=@rnum,限制图书=@bit  Where 读者类型编号=@id ";
                
                da.UpdateCommand = new SqlCommand();
                da.
                da.UpdateCommand.Connection = cn;

                da.UpdateCommand.Parameters.Add("@id",SqlDbType.Int,4,"读者类型编号");
                da.UpdateCommand.Parameters.Add("@cate",SqlDbType.VarChar,20,"读者类型");
                da.UpdateCommand.Parameters.Add("@bnum",SqlDbType.Int,4,"可借图书册数");
                da.UpdateCommand.Parameters.Add("@rnum",SqlDbType.Int,4,"可续借次数");
                da.UpdateCommand.Parameters.Add("@bit",SqlDbType.Bit,1,"限制图书");
2008-11-10 20:12
zhanwenfu
Rank: 1
等 级:新手上路
帖 子:55
专家分:0
注 册:2008-1-15
收藏
得分:0 
上面代码在LOAD事件中写入就可以了..

然后在你相应的添加....删除和更新的按键中....添加代码

if(e.Button.ToolTipText=="新增")
{
            
bm.AddNew(); //对了..这个bm也是在load事件中NEW出来的
                      //bm=(CurrencyManager)this.BindingContext[ds,"djlx"];
}
if(e.Button.ToolTipText=="删除")
            {                
                try
                {
                    DialogResult result=MessageBox.Show("确认删除?","删除数据",MessageBoxButtons.OKCancel);
                    if(result==DialogResult.OK)
                    {
                        ds.Tables[0].Rows[bm.Position].Delete();//删除ds中的一行,而并未写回数据库
                    }
                    else
                    {
                        MessageBox.Show("表中为空,已无可删除数据","提示",MessageBoxButtons.OK,MessageBoxIcon.Error);
                    }
                }
                catch(Exception ex)
                {
                    MessageBox.Show(ex.ToString(),"提示",MessageBoxButtons.OK,MessageBoxIcon.Warning);
                }
                
            }

if(e.Button.ToolTipText=="提交")
            {

                if(this.dataGrid1.CurrentRowIndex!=-1)//当datagrid当前行的索引不为-1,表明此时至少有一行记录,如果删除后,CurrentRowIndex=-1,再按提关,此时txtLbname值为空,这种情况是允许的
                {
                    

                    if(this.txtcate.Text.Trim()=="")//检查字段
                    {
                        MessageBox.Show("读者类型不能为空","提示",MessageBoxButtons.OK,MessageBoxIcon.Warning);
                        return;
                    }
                    
                    if(this.txtbnum.Text.Trim()=="")//检查字段
                    {
                        MessageBox.Show("可借图书册数不能为空","提示",MessageBoxButtons.OK,MessageBoxIcon.Warning);
                        return;
                    }

                    
                    if(this.txtrnum.Text.Trim()=="")//检查字段
                    {
                        MessageBox.Show("可续借的次数","提示",MessageBoxButtons.OK,MessageBoxIcon.Warning);
                        return;
                    }
                }

                bm.EndCurrentEdit();
                if(ds.GetChanges()!=null)
                {
                    try
                    {
                        da.Update(ds, "djlx");
                        ds.AcceptChanges();
                        MessageBox.Show("数据记录已成功更新。", "提示信息");
                        ds.Clear();
                        da.Fill(ds,"djlx");
                        this.dataGrid1.SetDataBinding(ds,"djlx");
                        
                    }
                    catch(Exception ex)
                    {
                        MessageBox.Show(ex.ToString(),"提示",MessageBoxButtons.OK,MessageBoxIcon.Error);
                        ds.RejectChanges();
                    }
2008-11-10 20:16
luanqi
Rank: 1
等 级:新手上路
帖 子:13
专家分:0
注 册:2008-10-20
收藏
得分:0 
2008-11-12 07:30
machao514
Rank: 1
等 级:新手上路
帖 子:48
专家分:0
注 册:2007-4-14
收藏
得分:0 
回来晚了,zhanwenfu,回来晚了啊~~~
我舍弃那个功能了,反正是ACCESS的数据库,直接写个连接去数据库修改了!

早点回来看到你的代码就好了,诶~~~
还是很谢谢zhanwenfu同志!
2008-11-20 21:41
快速回复:有关checkbox绑定问题....急...
数据加载中...
 
   



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

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