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

C#新手诚心请问。

2012-12-21 
C#新手诚心请教。。String cnno Data SourceHP-PCInitial CatalogFIRSTIntegrated SecurityTruePoo

C#新手诚心请教。。
String cnno = "Data Source=HP-PC;Initial Catalog=FIRST;Integrated Security=True;Pooling=False";
            SqlConnection connection = new SqlConnection(cnno);
            string sql = "insert into Xinxi(Xno,Xname,Xsex,Xage,Xbumen,Xzhicheng,Xgonglin,Xphone,Xjiguan,Xzhuzhi) values('" + textBox1.Text + "','" + textBox2.Text + "','" + textBox3.Text + "'," + Convert.ToInt32(textBox4.Text) + ",'" + textBox5.Text + "','" + textBox6.Text + "'," + Convert.ToInt32(textBox7.Text) + ",'" + textBox8.Text + "','" + textBox9.Text + "','" + textBox9.Text + "')";
            connection.Open();
            SqlCommand command = new SqlCommand(sql, connection);
             command.ExecuteNonQuery();
             connection.Close();
刚刚编写了个程序,但运行的时候错了,不知道哪有问题,请高手帮忙看看,可以的话帮忙添加判定功能,就是Xno是主键,如果插入一样的主键有提示。。。
[最优解释]
添加个try{}cath{}快语句要执行的代码放入TRY,catch里放入异常然后输出

报什么错
[其他解释]
age是文本框吗,是文本框输入的值吗,如果是直接判断age的文本框不能 为空就OK
如:txt_age.text ==""
    messagebox("","")
    this.txt_age.focus();
   return;

txt_age 是你的文本框的命名
[其他解释]
主键不能相同的,估计是你主键没有处理好,是自动增长列吗。不是的话请看你插入的主键的值,在数据库里还存在。
[其他解释]

引用:
主键不能相同的,估计是你主键没有处理好,是自动增长列吗。不是的话请看你插入的主键的值,在数据库里还存在。
那主键怎么处理呢。。能具体点吗?在此鞋了

 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();这里会报错。。望指点
[其他解释]

引用:
age是文本框吗,是文本框输入的值吗,如果是直接判断age的文本框不能 为空就OK
如:txt_age.text ==""
    messagebox("","")
    this.txt_age.focus();
   return;

txt_age 是你的文本框的命名
那这int num = (int)command.ExecuteNonQuery();报错怎么处理
[其他解释]
你是做web站的话 。 写好后, 把地址共享下 。 让我练习练习sql注入 
[其他解释]
引用:
你是做web站的话 。 写好后, 把地址共享下 。 让我练习练习sql注入
我很菜的。。刚学几天。。看了会误导人的。。呵呵

热点排行