ASP.NET调用存储过程
我要做一个报名系统,客户端按提交后就调用存储过程,向SQL数据库插入姓名和学号.存储过程和ASP.NET(C#)调用的代码要怎么写?我对存储过程不是很了解.有去查过工具书...
我要做一个报名系统,客户端按提交后就调用存储过程,向SQL数据库插入姓名和学号.存储过程和ASP.NET(C#)调用的代码要怎么写?我对存储过程不是很了解.有去查过工具书,但是所有工具书都不适合初学者用,看了还是不懂.希望大家帮帮忙,看书研究几天了,都不懂.最好代码有解释,不然只有代码我会不理解.写得好我会加分的.
展开
3个回答
2013-09-13
展开全部
给你看下我的,用的时候很简单,和你拼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); 不懂的话请继续说,谢谢采纳
{
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); 不懂的话请继续说,谢谢采纳
2013-09-13
展开全部
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));
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));
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-09-13
展开全部
//调用存储过程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;
}
//自己看看
{
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;
}
//自己看看
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询