读书人

C#新手诚心请问。

发布时间: 2012-12-21 12:03:49 作者: rapoo

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注入
我很菜的。。刚学几天。。看了会误导人的。。呵呵

读书人网 >C#

热点推荐