ASP.NET调用存储过程
我要做一个报名系统,客户端按提交后就调用存储过程,向SQL数据库插入姓名和学号.存储过程和ASP.NET(C#)调用的代码要怎么写?我对存储过程不是很了解.有去查过工具书,但是所有工具书都不适合初学者用,看了还是不懂.
希望大家帮帮忙,看书研究几天了,都不懂.
最好代码有解释,不然只有代码我会不理解.写得好我会加分的.
追问:配合工具书来看算明白了,那我要判断调用存储过程是否插入成功,要怎么做?直接用TRY来实现吗?
我要做一个报名系统,客户端按提交后就调用存储过程,向SQL数据库插入姓名和学号.存储过程和ASP.NET(C#)调用的代码要怎么写?我对存储过程不是很了解.有去查过工具书,但是所有工具书都不适合初学者用,看了还是不懂.
希望大家帮帮忙,看书研究几天了,都不懂.
最好代码有解释,不然只有代码我会不理解.写得好我会加分的.
追问:配合工具书来看算明白了,那我要判断调用存储过程是否插入成功,要怎么做?直接用TRY来实现吗?
答案://调用存储过程public static int CA10( string a1, string a2)
{
SqlParameter[] sp =
{
new SqlParameter("@a1",a1),),//存储过程的每个参数
new SqlParameter("@a2",a2)
};
return SqlHelper.ExeProc("pro_test", sp); //proc_test 为存储过程名
}//执行带参数的存储过程
public static int ExeProc(string procName, SqlParameter[] sp)
{
SqlCommand cmd = new SqlCommand();
cmd.Connection = SqlHelper.Conn;
cmd.CommandText = procName;
cmd.CommandType = CommandType.StoredProcedure;
if (sp != null)
{
cmd.Parameters.AddRange(sp);
}
cmd.Connection.Open();
SqlTransaction tran = cmd.Connection.BeginTransaction();
cmd.Transaction = tran;
int a=0; //执行结果 1 为成功 更新了一条数据
try
{
a=cmd.ExecuteNonQuery();
tran.Commit();
}
catch (Exception ex)
{
tran.Rollback();
throw ex;
}
finally
{
cmd.Connection.Close();
}
return a;
}
//自己看看给你看下我的,用的时候很简单,和你拼sql差别不是很大,就一个属性而已
Commandtype这个属性storeprocedure就是调用存储过程,text是sql语句,
我的sqlhelper.ExecuteNonQuery的参数,
public static int ExecuteNonQuery(string cmmdText, CommandType cmdType, params SqlParameter[] parameters)
{
using (SqlConnection con = new SqlConnection(conString))
{
con.Open();
SqlCommand cmd = PrepareCommand(con, cmmdText, cmdType, parameters);
return cmd.ExecuteNonQuery();
}
}最后一个是参数,如果你的存储过程有参数,就在这里加,eg:
SqlHelper.ExecuteNonQuery("过程名", CommandType.StoredProcedure,new SqlParameter("参数名字",值));
如果没有参数,则
SqlHelper.ExecuteNonQuery("过程名", CommandType.StoredProcedure, null);
不懂的话请继续说,谢谢采纳
DbDataReader dr = m_DbHelper.ExecuteReader(CommandType.StoredProcedure, m_DbHelper.Prefix + "GetItemList", par);
model.RecordCount = (int)m_DbHelper.ExecuteScalar(CommandType.StoredProcedure, m_DbHelper.Prefix + "GetItemCount",
m_DbHelper.MakeInParam("@Tables", DbType.String, 50, model.TableName),
m_DbHelper.MakeInParam("@PrimaryKey", DbType.String, 50, model.PrimaryKey),
m_DbHelper.MakeInParam("@Condition", DbType.String, 3000, model.Condition));“客户端按提交后就调用存储过程,向SQL数据库插入姓名和学号” 你这个用存储过程是不是太浪费了,直接在C#里拼SQL语句吧。在C#里调存储过程就设置SqlCommand的CommandType为Proc
上一个:asp.net 表单验证
下一个:ASP.NET超链接传值