读书人

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

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

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}')

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

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

读书人网 >C#

热点推荐