存储过程:
create or replace procedure stu_pro_update
(name in varchar2,num in char,sex in char)
as
begin
update scott.student
set stuname=name,stunum=num,stusex=sex
where stunum=num;
commit;
end;C#中调用存储过程的代码是这样的,感觉没什么错误啊,可是就是执行过后数据库中 stuent 表中的内容没有改变!!!
// 更新数据库中的信息
private void btn_insert_Click(object sender, EventArgs e)
{
string stuName = lb_name.Text.Trim();
string stuNum = lb_num.Text.Trim();
string stuSex = lb_sex.Text.Trim(); //连接字符串
string connStr="Data Source=Chweiorc;User ID=scott;Password=123456";
OracleConnection connection = new OracleConnection(connStr);
OracleCommand cmd = connection.CreateCommand(); cmd.CommandText = "stu_pro_update";
cmd.CommandType = CommandType.StoredProcedure; // 指明用调用存储过程的方式来操作数据库; OracleParameter namePar=cmd.Parameters.Add("name", OracleType.VarChar, 20);
namePar.Value = stuName;
OracleParameter numPar= cmd.Parameters.Add("num", OracleType.Char, 12);
numPar.Value = stuNum;
OracleParameter sexPar= cmd.Parameters.Add("sex", OracleType.Char, 2);
sexPar.Value = stuSex; connection.Open();
try
{
MessageBox.Show(cmd.ExecuteNonQuery().ToString());
}
finally
{
connection.Close();
cmd.Dispose();
MessageBox.Show("更新数据完成~~~~");
}
}
create or replace procedure stu_pro_update
(name in varchar2,num in char,sex in char)
as
begin
update scott.student
set stuname=name,stunum=num,stusex=sex
where stunum=num;
commit;
end;C#中调用存储过程的代码是这样的,感觉没什么错误啊,可是就是执行过后数据库中 stuent 表中的内容没有改变!!!
// 更新数据库中的信息
private void btn_insert_Click(object sender, EventArgs e)
{
string stuName = lb_name.Text.Trim();
string stuNum = lb_num.Text.Trim();
string stuSex = lb_sex.Text.Trim(); //连接字符串
string connStr="Data Source=Chweiorc;User ID=scott;Password=123456";
OracleConnection connection = new OracleConnection(connStr);
OracleCommand cmd = connection.CreateCommand(); cmd.CommandText = "stu_pro_update";
cmd.CommandType = CommandType.StoredProcedure; // 指明用调用存储过程的方式来操作数据库; OracleParameter namePar=cmd.Parameters.Add("name", OracleType.VarChar, 20);
namePar.Value = stuName;
OracleParameter numPar= cmd.Parameters.Add("num", OracleType.Char, 12);
numPar.Value = stuNum;
OracleParameter sexPar= cmd.Parameters.Add("sex", OracleType.Char, 2);
sexPar.Value = stuSex; connection.Open();
try
{
MessageBox.Show(cmd.ExecuteNonQuery().ToString());
}
finally
{
connection.Close();
cmd.Dispose();
MessageBox.Show("更新数据完成~~~~");
}
}
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货