首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

C#有关问题。求高手帮忙看看

2012-12-21 
C#问题。。求高手帮忙看看 private void button1_Click(object sender, EventArgs e){int age Convert.ToI

C#问题。。求高手帮忙看看
 private void button1_Click(object sender, EventArgs e)
        {
            int age = Convert.ToInt32(textBox4 .Text );
            int gonglin = Convert.ToInt32(textBox7.Text);
            String cnno = "Data Source=HP-PC;Initial Catalog=FIRST;Integrated Security=True;Pooling=False";
            SqlConnection connection = new SqlConnection(cnno);
            string sql = string.Format("Insert into Xinxi values('Xno='{0}'','Xname='{1}'','Xsex='{2}'','Xage='{3}'','Xbumen='{4}'','Xzhicheng='{5}'','Xgonglin='{6}'','Xphone='{7}'','Xjiguan='{8}'','Xzhuzhi='{9}'') ", textBox1.Text, textBox2.Text, textBox3.Text, age, textBox5.Text, textBox6.Text, gonglin, textBox8.Text, textBox9.Text, textBox10.Text);

            connection.Open();
            SqlCommand command = new SqlCommand(sql, connection);
            //int num = Convert.ToInt32(command.ExecuteScalar());
            int num = (int)command.ExecuteNonQuery();
            try
            {
                if (num > 0)
                {

                    MessageBox.Show("修改成功!");
                    this.Close();
                }
                else
                {
                    MessageBox.Show("原密码错误!");
                }


            }
            catch (Exception ex)
            {

                MessageBox.Show("错误异常" + ex);
            }
            finally
            {
                connection.Close();
            }

        }

这是我修改后的,如果我我的age里为空会报错,如果有数据则int num = (int)command.ExecuteNonQuery();这里会报错。。还有就是在输入两个一样的主键时会提示。。。望指点


[最优解释]

引用:
引用:
1.你的SQL语句就是错的  自己看看INSERT INTO 语句语法  
2.整型  例如:age  插入时候不要加''  字符串和时间类型等的要加'' 
3.加TRY  CATCH 
4.在数据库里建立唯一约束,CATCH捕捉相应错误类型,跳出提示我这样改了以后

 string sql = string.Format("Inser……


写错了,谁教你这么写的啊上面我写给你的那个可以
[其他解释]
不清楚 你的表设计估计有问题  数据库不是瞎搞的  
你可以断点然后单步查找哪里有错误
[其他解释]
1.你的SQL语句就是错的  自己看看INSERT INTO 语句语法  
2.整型  例如:age  插入时候不要加''  字符串和时间类型等的要加'' 
3.加TRY  CATCH 
4.在数据库里建立唯一约束,CATCH捕捉相应错误类型,跳出提示
[其他解释]
  int num = (int)command.ExecuteNonQuery();
这里不用强转,command返回的就是int受影响的行数
你数理AGE那列是否可以为空如不能,请在文本框输入值时加判断不为空。
实在不行放断点把sql语句考到脚本中去执行就知道什么问题啊
[其他解释]
     string sql = string.Format("Insert into Xinxi values(Xno='{0}',Xname='{1}',Xsex='{2}',Xage={3},Xbumen='{4}',Xzhicheng='{5}',Xgonglin={6},'Xphone='{7}'','Xjiguan='{8}'',Xzhuzhi='{9}') ", textBox1.Text, textBox2.Text, textBox3.Text, age, textBox5.Text, textBox6.Text, gonglin, textBox8.Text, textBox9.Text, textBox10.Text);
把你的换成这个在看看
[其他解释]
引用:
1.你的SQL语句就是错的  自己看看INSERT INTO 语句语法  
2.整型  例如:age  插入时候不要加''  字符串和时间类型等的要加'' 
3.加TRY  CATCH 
4.在数据库里建立唯一约束,CATCH捕捉相应错误类型,跳出提示
我这样改了以后

 string sql = string.Format("Insert into Xinxi values('{0}','{1}','{2}','{3}','{4}','{5}','{6}','{7}','{8}','{9}') ", textBox1.Text, textBox2.Text, textBox3.Text, age, textBox5.Text, textBox6.Text, gonglin, textBox8.Text, textBox9.Text, textBox10.Text);

这里int num = (int)command.ExecuteNonQuery();还是有错。。怎么改呢?
[其他解释]
引用:
引用:引用:
1.你的SQL语句就是错的  自己看看INSERT INTO 语句语法  
2.整型  例如:age  插入时候不要加''  字符串和时间类型等的要加'' 
3.加TRY  CATCH 
4.在数据库里建立唯一约束,CATCH捕捉相应错误类型,跳出提示我这样改了以后

 s……
我对不起你。。用你的还是那有错。。。
[其他解释]
Insert into Xinxi values('{0}','{1}','{2}',{3},'{4}','{5}',{6},'{7}','{8}','{9}') 
[其他解释]
引用:
引用:引用:引用:
1.你的SQL语句就是错的  自己看看INSERT INTO 语句语法  
2.整型  例如:age  插入时候不要加''  字符串和时间类型等的要加'' 
3.加TRY  CATCH 
4.在数据库里建立唯一约束,CATCH捕捉相应错误……
终于可以了。。哈哈哈。。不过我发现个问题,就是我插入一个重复的主键,报错说存在,可是我在我表里没有那个主键呢
[其他解释]
引用:
Insert into Xinxi values('{0}','{1}','{2}',{3},'{4}','{5}',{6},'{7}','{8}','{9}')

终于可以了。。哈哈哈。。不过我发现个问题,就是我插入一个重复的主键,报错说存在,可是我在我表里没有那个主键呢
[其他解释]
插入的时候不要手动添加主键,主键一般是自增列
[其他解释]
引用:
插入的时候不要手动添加主键,主键一般是自增列
我的编号是主键,那添加编号的时候编号不用输入码?巩爷
[其他解释]
自增列就是自动增加的。

如果编号是主键,并设置了自增,那么添加数据的时候不要手动添加编号!

热点排行