调用存储过程方法 代码.docx
- 文档编号:6702199
- 上传时间:2023-01-09
- 格式:DOCX
- 页数:11
- 大小:16.69KB
调用存储过程方法 代码.docx
《调用存储过程方法 代码.docx》由会员分享,可在线阅读,更多相关《调用存储过程方法 代码.docx(11页珍藏版)》请在冰豆网上搜索。
调用存储过程方法代码
ifexists(select*fromsysobjectswherename='SelectStu')
dropprocSelectStu
GO
createprocSelectStu
as
select*fromstudent
GO
--c#
SqlCommandcmd=newSqlCommand("SelectStu",con);
cmd.CommandType=CommandType.StoredProcedure;
SqlDataReaderdr=cmd.ExecuteReader();
while(dr.Read())
{
Console.WriteLine(dr["LoginId"]);
}
--T-SQL带一个参数
ifexists(select*fromsysobjectswherename='SelectStu')
dropprocSelectStu
GO
createprocSelectStu
@namevarchar(50)
as
select*fromstudentwhereloginid=@name
GO
--C#
SqlCommandcmd=newSqlCommand("SelectStu",con);
cmd.CommandType=CommandType.StoredProcedure;
cmd.Parameters.Add("@name","LiDifei");
SqlDataReaderdr=cmd.ExecuteReader();
while(dr.Read())
{
Console.WriteLine(dr["LoginId"]);
}
--T-SQL有返回值
ifexists(select*fromsysobjectswherename='SelectStu')
dropprocSelectStu
GO
createprocSelectStu
@namevarchar(50),
@idintoutput
as
select@id=studentidfromstudentwhereloginid=@name
return@id
GO
--C#
SqlCommandcmd=newSqlCommand("SelectStu",con);
cmd.CommandType=CommandType.StoredProcedure;
cmd.Parameters.Add("@name","LiDifei");
cmd.Parameters.Add("@id",SqlDbType.Int);
cmd.Parameters["@id"].Direction=ParameterDirection.Output;
cmd.ExecuteScalar();
Console.WriteLine(cmd.Parameters["@id"].Value);
-------------------------------------------------------------------------------------
//以前写过的一个调用存储过程的方法
publicstaticintregInsert(stringPwd,intFriend,stringNickName,intFaceID,stringSex,intAge,stringName,intstarId,intBloodTypeId)
{
try
{
SqlConnectionconn=createConnection();
conn.Open();
SqlCommandcmd=newSqlCommand("proc_reg",conn);
cmd.CommandType=CommandType.StoredProcedure;
cmd.Parameters.Add("@id",SqlDbType.Int);
如果是id是字符型的话,必须把输出长度写上,输入参数可以不用写长度,但是输出参数必须写上长度.
cmd.Parameters.Add("@id",SqlDbType.navchar,50);
cmd.Parameters["@id"].Direction=ParameterDirection.Output;
cmd.Parameters.AddWithValue("@LoginPwd",Pwd);
cmd.Parameters.AddWithValue("@FriendshipPolicyId",Friend);
cmd.Parameters.AddWithValue("@NickName",NickName);
cmd.Parameters.AddWithValue("@FaceID",FaceID);
cmd.Parameters.AddWithValue("@Sex",Sex);
cmd.Parameters.AddWithValue("@Age",Age);
cmd.Parameters.AddWithValue("@Name",Name);
cmd.Parameters.AddWithValue("@starId",starId);
cmd.Parameters.AddWithValue("@BloodTypeId",BloodTypeId);
cmd.ExecuteNonQuery();
return(int)cmd.Parameters["@id"].Value;
}
catch(SqlExceptionex)
{
Console.WriteLine(ex.Message);
}
return0;
}
-------------------------------------------------------------------------------
//从网上摘抄
stringConnectionString="server=.;database=PubData;uid=sa;pwd=123456";
using(SqlConnectionConn=newSqlConnection(ConnectionString))
{
SqlCommandCMD=newSqlCommand();
CMD.CommandType=CommandType.StoredProcedure;
CMD.Connection=Conn;
//没有输入参数调用有返回参数
//存储过程如下
//------------------------------------
//--用途:
得到最大ID
//--项目名称:
//--说明:
//--时间:
2007-12-617:
15:
27
//------------------------------------
//ALTERPROCEDURESysBaseData_GetMaxId
//AS
//DECLARE@TempIDint
//SELECT@TempID=max([BaseDataID])+1FROMSysBaseData
//IF@TempIDISNULL
//RETURN1
//ELSE
//RETURN@TempID
CMD.CommandText="SysBaseData_GetMaxId";
Conn.Open();
CMD.Parameters.Add(newSqlParameter("ReturnValue",
SqlDbType.Int,4,ParameterDirection.ReturnValue,
false,0,0,string.Empty,DataRowVersion.Default,null));
CMD.ExecuteScalar();
Response.Write("没有输入参数调用有返回参数:
"+CMD.Parameters["ReturnValue"].Value);
Response.Write("
");
//有一个传入参数和返回参数
//------------------------------------
//--用途:
是否已经存在
//--项目名称:
//--说明:
//--时间:
2007-12-617:
15:
27
//------------------------------------
//ALTERPROCEDURESysBaseData_Exists
//@BaseDataIDint
//AS
//DECLARE@TempIDint
//SELECT@TempID=count
(1)FROMSysBaseDataWHERE[BaseDataID]=@BaseDataID
//IF@TempID=0
//RETURN0
//ELSE
//RETURN1
CMD.CommandText="SysBaseData_Exists";
SqlParameter[]parameters={newSqlParameter("@BaseDataID",SqlDbType.Int)};
parameters[0].Value=22;
CMD.Parameters.Add(parameters[0]);
CMD.Parameters.Add(newSqlParameter("ReturnValue",SqlDbType.Int,4,ParameterDirection.ReturnValue,false,0,0,string.Empty,DataRowVersion.Default,null));
intj=CMD.ExecuteNonQuery();
Response.Write("有一个传入参数和返回参数:
"+CMD.Parameters["ReturnValue"].Value);
Response.Write("
");
CMD.Parameters.Clear();
//有一个传入参数没有返回值
//------------------------------------
//--用途:
删除一条记录
//--项目名称:
//--说明:
//--时间:
2007-12-617:
15:
27
//------------------------------------
//ALTERPROCEDURESysBaseData_Delete
//@BaseDataIDint
//AS
//DELETESysBaseData
//WHERE[BaseDataID]=@BaseDataID
CMD.CommandText="SysBaseData_Delete";
SqlParameter[]parameters2={newSqlParameter("@BaseDataID",SqlDbType.Int)};
parameters2[0].Value=29;
CMD.Parameters.Add(parameters2[0]);
intk=CMD.ExecuteNonQuery();
Response.Write("有一个传入参数没有返回值:
"+k);
CMD.Parameters.Clear();
Response.Write("
");
//有多个转入参数没有近回值
//------------------------------------
//--用途:
修改一条记录
//--项目名称:
//--说明:
//--时间:
2007-12-617:
15:
27
//------------------------------------
//ALTERPROCEDURESysBaseData_Update
//@BaseDataIDint,
//@BaseDataCodechar(10),
//@BaseDataNamevarchar(30),
//@ParentCodechar(10),
//@Descriptionvarchar(100),
//@LevelTypeint,
//@VaildTypechar
(1),
//@PathCodevarchar(100),
//@SerialNumberIDint,
//@msrepl_tran_versionuniqueidentifier
//AS
//UPDATESysBaseDataSET
//[BaseDataCode]=@BaseDataCode,[BaseDataName]=@BaseDataName,[ParentCode]=@ParentCode,[Description]=@Description,[LevelType]=@LevelType,[VaildType]=@VaildType,[PathCode]=@PathCode,[SerialNumberID]=@SerialNumberID,[msrepl_tran_version]=@msrepl_tran_version
//WHERE[BaseDataID]=@BaseDataID
CMD.CommandText="SysBaseData_Update";
SqlParameter[]parameters3={
newSqlParameter("@BaseDataID",SqlDbType.Int),
newSqlParameter("@BaseDataCode",SqlDbType.VarChar),
newSqlParameter("@BaseDataName",SqlDbType.VarChar),
newSqlParameter("@ParentCode",SqlDbType.VarChar),
newSqlParameter("@Description",SqlDbType.VarChar),
newSqlParameter("@LevelType",SqlDbType.Int),
newSqlParameter("@VaildType",SqlDbType.VarChar),
newSqlParameter("@PathCode",SqlDbType.VarChar),
newSqlParameter("@SerialNumberID",SqlDbType.Int)
};
parameters3[0].Value=28;
parameters3[1].Value="DCCK02";
parameters3[2].Value="中秋节0";
parameters3[3].Value="DCCK";
parameters3[4].Value="";
parameters3[5].Value=3;
parameters3[6].Value="0";
parameters3[7].Value="";
parameters3[8].Value=0;
foreach(SqlParameterparameterinparameters3)
{
CMD.Parameters.Add(parameter);
}
intm=CMD.ExecuteNonQuery();
Response.Write("有多个转入参数没有近回值:
"+m);
CMD.Parameters.Clear();
Response.Write("
");
//没有输入参数获得数据集
//------------------------------------
//--用途:
查询记录信息
//--项目名称:
//--说明:
//--时间:
2007-12-617:
15:
27
//------------------------------------
//ALTERPROCEDUREUP_SysBaseData_GetList
//AS
//SELECT
//[BaseDataID],[BaseDataCode],[BaseDataName],[ParentCode],[Description],[LevelType],[VaildType],[PathCode],[SerialNumberID],[msrepl_tran_version]
//FROMSysBaseData
CMD.CommandText="UP_SysBaseData_GetList";
SqlDataAdapterDA=newSqlDataAdapter();
DA.SelectCommand=CMD;
DataSetDS=newDataSet();
intn=DA.Fill(DS);
Response.Write("没有输入参数获得数据集:
"+n);
Response.Write("
");
//GridView1.DataSource=DS;
//GridView1.DataBind();
//有输入输出参数获得数据集
//--=============================================
//--Author:
//--Createdate:
//--Description:
//--=============================================
//ALTERPROCEDURE[dbo].[UP_GetRecordByPage]
//@PageSizeint,
//@PageIndexint,
//@NCountintoutput
//AS
//declare@StarRowint
//declare@EndRowint
//select@NCount=count(BaseDataID)fromSysBaseData
//BEGIN
//SETNOCOUNTON;
//withSysDataBaseListas
//(
//selectrow_number()over(orderbyBaseDataIDdesc)asrownumbers,
//BaseDataID,BaseDataName,ParentCode
//fromSysBaseData
//)
//select*fromSysDataBaseListwhererownumbersbetween(@PageIndex-1)*@PageSize+1and(@PageIndex-1)*@PageSize+@PageSize
//END
CMD.CommandText="UP_GetRecordByPage";
SqlDataAdapterDA2=newSqlDataAdapter();
SqlParameter[]parameters4={
newSqlParameter("@PageSize",SqlDbType.Int),
newSqlParameter("@PageIndex",SqlDbType.Int),
newSqlParameter("@NCount",SqlDbType.Int,4,ParameterDirection.Output,false,0,0,string.Empty,DataRowVersion.Default,null)
};
parameters4[0].Value=5;
parameters4[1].Value=2;
foreach(SqlParameterparameterinparameters4)
{
CMD.Parameters.Add(parameter);
}
DA2.SelectCommand=CMD;
DataSetDS2=newDataSet();
intn2=DA2.Fill(DS2);
Response.Write("有输入输出参数获得数据集:
"+n2+"一共"+CMD.Parameters[2].Value+"行");
GridView1.DataSource=DS2;
GridView1.DataBind();
}
文章来源于:
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 调用存储过程方法 代码 调用 存储 过程 方法