调用存储过程方法 代码Word文件下载.docx
《调用存储过程方法 代码Word文件下载.docx》由会员分享,可在线阅读,更多相关《调用存储过程方法 代码Word文件下载.docx(11页珍藏版)》请在冰豆网上搜索。
--C#
cmd.Parameters.Add("
@name"
"
LiDifei"
);
--T-SQL有返回值
@namevarchar(50),
@idintoutput
select@id=studentidfromstudentwhereloginid=@name
return@id
@id"
SqlDbType.Int);
cmd.Parameters["
].Direction=ParameterDirection.Output;
cmd.ExecuteScalar();
Console.WriteLine(cmd.Parameters["
].Value);
-------------------------------------------------------------------------------------
//以前写过的一个调用存储过程的方法
publicstaticintregInsert(stringPwd,intFriend,stringNickName,intFaceID,stringSex,intAge,stringName,intstarId,intBloodTypeId)
try
SqlConnectionconn=createConnection();
conn.Open();
SqlCommandcmd=newSqlCommand("
proc_reg"
conn);
如果是id是字符型的话,必须把输出长度写上,输入参数可以不用写长度,但是输出参数必须写上长度.
SqlDbType.navchar,50);
cmd.Parameters.AddWithValue("
@LoginPwd"
Pwd);
@FriendshipPolicyId"
Friend);
@NickName"
NickName);
@FaceID"
FaceID);
@Sex"
Sex);
@Age"
Age);
@Name"
Name);
@starId"
starId);
@BloodTypeId"
BloodTypeId);
cmd.ExecuteNonQuery();
return(int)cmd.Parameters["
].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["
<
br>
//有一个传入参数和返回参数
是否已经存在
//ALTERPROCEDURESysBaseData_Exists
//@BaseDataIDint
//DECLARE@TempIDint
//SELECT@TempID=count
(1)FROMSysBaseDataWHERE[BaseDataID]=@BaseDataID
//IF@TempID=0
//RETURN0
//ELSE
SysBaseData_Exists"
SqlParameter[]parameters={newSqlParameter("
@BaseDataID"
SqlDbType.Int)};
parameters[0].Value=22;
CMD.Parameters.Add(parameters[0]);
SqlDbType.Int,4,ParameterDirection.ReturnValue,false,0,0,string.Empty,DataRowVersion.Default,null));
intj=CMD.ExecuteNonQuery();
有一个传入参数和返回参数:
CMD.Parameters.Clear();
//有一个传入参数没有返回值
删除一条记录
//ALTERPROCEDURESysBaseData_Delete
//AS
//DELETESysBaseData
//WHERE[BaseDataID]=@BaseDataID
SysBaseData_Delete"
SqlParameter[]parameters2={newSqlParameter("
SqlDbType.Int)};
parameters2[0].Value=29;
CMD.Parameters.Add(parameters2[0]);
intk=CMD.ExecuteNonQuery();
有一个传入参数没有返回值:
+k);
//有多个转入参数没有近回值
修改一条记录
//ALTERPROCEDURESysBaseData_Update
//@BaseDataIDint,
//@BaseDataCodechar(10),
//@BaseDataNamevarchar(30),
//@ParentCodechar(10),
//@Descriptionvarchar(100),
//@LevelTypeint,
//@VaildTypechar
(1),
//@PathCodevarchar(100),
//@SerialNumberIDint,
//@msrepl_tran_versionuniqueidentifier
//UPDATESysBaseDataSET
//[BaseDataCode]=@BaseDataCode,[BaseDataName]=@BaseDataName,[ParentCode]=@ParentCode,[Description]=@Description,[LevelType]=@LevelType,[VaildType]=@VaildType,[PathCode]=@PathCode,[SerialNumberID]=@SerialNumberID,[msrepl_tran_version]=@msrepl_tran_version
SysBaseData_Update"
SqlParameter[]parameters3={
newSqlParameter("
SqlDbType.Int),
@BaseDataCode"
SqlDbType.VarChar),
@BaseDataName"
@ParentCode"
@Description"
@LevelType"
@VaildType"
@PathCode"
@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();
有多个转入参数没有近回值:
+m);
//没有输入参数获得数据集
查询记录信息
//ALTERPROCEDUREUP_SysBaseData_GetList
//SELECT
//[BaseDataID],[BaseDataCode],[BaseDataName],[ParentCode],[Description],[LevelType],[VaildType],[PathCode],[SerialNumberID],[msrepl_tran_version]
//FROMSysBaseData
UP_SysBaseData_GetList"
SqlDataAdapterDA=newSqlDataAdapter();
DA.SelectCommand=CMD;
DataSetDS=newDataSet();
intn=DA.Fill(DS);
没有输入参数获得数据集:
+n);
//GridView1.DataSource=DS;
//GridView1.DataBind();
//有输入输出参数获得数据集
//--=============================================
//--Author:
<
Author,,Name>
//--Createdate:
CreateDate,,>
//--Description:
Description,,>
//ALTERPROCEDURE[dbo].[UP_GetRecordByPage]
//@PageSizeint,
//@PageIndexint,
//@NCountintoutput
//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
UP_GetRecordByPage"
SqlDataAdapterDA2=newSqlDataAdapter();
SqlParameter[]parameters4={
@PageSize"
@PageIndex"
@NCount"
SqlDbType.Int,4,ParameterDirection.Output,false,0,0,string.Empty,DataRowVersion.Default,null)
parameters4[0].Value=5;
parameters4[1].Value=2;
foreach(SqlParameterparameterinparameters4)
DA2.SelectCommand=CMD;
DataSetDS2=newDataSet();
intn2=DA2.Fill(DS2);
有输入输出参数获得数据集:
+n2+"
一共"
+CMD.Parameters[2].Value+"
行"
GridView1.DataSource=DS2;
GridView1.DataBind();
文章来源于: