标题:求解update后的问题
只看楼主
QJlin
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:3
帖 子:186
专家分:560
注 册:2013-5-18
结帖率:100%
已结贴  问题点数:14 回复次数:9 
求解update后的问题
if (textBox1.Text.Trim().ToString() == null && textBox2.Text.Trim().ToString() != null && textBox3.Text.Trim().ToString() == "" && textBox4.Text.Trim().ToString() == "" && textBox5.Text.Trim().ToString() == "" && textBox6.Text.Trim().ToString() == "")
                    {
                        connection.Open();
                        string updatasql = "update student set 性别='" + textBox2.Text + "'where 学号='" + name + "'";
                        string selectsql = string.Format("select 姓名,性别,出生日期,出生地,民族,毕业学校 from student where 学号='{0}'", name);
                        command = new SqlCommand(updatasql, connection);
                        if (command.ExecuteNonQuery() == 1)
                        {
                            MessageBox.Show("更新成功");
                        }
                        else
                            MessageBox.Show("更新失败");
                        adapter = new SqlDataAdapter(selectsql, connection);
                        dataset = new DataSet();
                        adapter.Fill(dataset);
                        dataGridViewShow.DataSource = dataset.Tables[0];
                        connection.Close();
                    }
这是更新的代码,运行成功可把姓名给删了怎么回事
这是两个运行的截图,求各位指导指导
搜索更多相关主题的帖子: set update where null 
2013-05-21 17:17
shangsharon
Rank: 9Rank: 9Rank: 9
来 自:湖北武汉
等 级:蜘蛛侠
威 望:7
帖 子:221
专家分:1261
注 册:2012-3-25
得分:5 
更新的命令没有问题,可能是其他地方的代码修改了姓名吧
2013-05-21 17:26
moridiansha
Rank: 6Rank: 6
来 自:承德
等 级:侠之大者
威 望:4
帖 子:254
专家分:417
注 册:2009-10-21
得分:5 
dataGridViewShow.DataSource = dataset.Tables[0];
 这个下面加上下面这个试试
 dataGridViewShow.BindData();
 如果不行你就调试下看看后来检索的DataSet是不是你想要的结果,如果不是就是update的问题,如果是就是select的问题

www.qysy.tk
2013-05-21 18:02
QJlin
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:3
帖 子:186
专家分:560
注 册:2013-5-18
得分:0 
以下是引用moridiansha在2013-5-21 18:02:26的发言:

dataGridViewShow.DataSource = dataset.Tables[0];
 这个下面加上下面这个试试
 dataGridViewShow.BindData();
 如果不行你就调试下看看后来检索的DataSet是不是你想要的结果,如果不是就是update的问题,如果是就是select的问题

不行,用不了···

慢慢前进走,不求一步登天,只求慢慢前进
2013-05-21 18:40
QJlin
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:3
帖 子:186
专家分:560
注 册:2013-5-18
得分:0 
以下是引用shangsharon在2013-5-21 17:26:21的发言:

更新的命令没有问题,可能是其他地方的代码修改了姓名吧

其他地方的update都是有判断的,我这个是判断这个后进入,其他地方都没有修改姓名的了

慢慢前进走,不求一步登天,只求慢慢前进
2013-05-21 18:42
QJlin
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:3
帖 子:186
专家分:560
注 册:2013-5-18
得分:0 
我改了下if()里面的内容,变为if(textBox2.Text.Trim().ToString() != null)就不会不见了,但是我其他的条件判断加不了,这是为什么,求解,求方法

慢慢前进走,不求一步登天,只求慢慢前进
2013-05-21 19:18
yhlvht
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:贵宾
威 望:36
帖 子:707
专家分:4405
注 册:2011-9-30
得分:5 
是不是你textBox2.Text里面没值,所以update的时候,实际上把原有姓名,替换成了空值,所以再次加载的时候姓名肯定没有啊
你加了判断textBox2.Text.Trim().ToString() != null就表示textBox2.Text有值的时候才进入if,然后update,没值就不进入if,就没有执行update,当然姓名值还在了
话说我并不知道textBox2.Text是不是表示姓名,总之差不多这意思吧
2013-05-22 09:00
QJlin
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:3
帖 子:186
专家分:560
注 册:2013-5-18
得分:0 
以下是引用yhlvht在2013-5-22 09:00:17的发言:

是不是你textBox2.Text里面没值,所以update的时候,实际上把原有姓名,替换成了空值,所以再次加载的时候姓名肯定没有啊
你加了判断textBox2.Text.Trim().ToString() != null就表示textBox2.Text有值的时候才进入if,然后update,没值就不进入if,就没有执行update,当然姓名值还在了
话说我并不知道textBox2.Text是不是表示姓名,总之差不多这意思吧

版主,textBox2.text表示的是性别,textBox1.text才表示的是姓名,我想判断是如果性别不是空,而其他都为空就update性别的值为textBox2.text的值,但是上面的if判断执行了这种判断,但是我update里都没有将姓名清空,但它显示时自动清空了姓名!

慢慢前进走,不求一步登天,只求慢慢前进
2013-05-22 12:36
yhlvht
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:贵宾
威 望:36
帖 子:707
专家分:4405
注 册:2011-9-30
得分:0 
那没道理把姓名清空的,要么没有进if,要么异常了,你最好把if后面的代码都贴出来看看
2013-05-22 14:19
QJlin
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:3
帖 子:186
专家分:560
注 册:2013-5-18
得分:0 
以下是引用yhlvht在2013-5-22 14:19:11的发言:

那没道理把姓名清空的,要么没有进if,要么异常了,你最好把if后面的代码都贴出来看看

后面和前面的都一样只有一个不为空其他都为空时就更改那个不为空的,代码和上面的差不多,因为原代码我已经改了,但大概就是那样

慢慢前进走,不求一步登天,只求慢慢前进
2013-05-23 12:20



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-407647-1-1.html




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

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