set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
go-- =============================================
-- Author: <Author,,Name>
-- Create date: <Create Date,,>
-- Description: <Description,,>
-- =============================================
ALTER PROCEDURE [dbo].[InsertUserOnLineLog]
@userid as int,
@ip as varchar(20),
@starttime as datetime,
@endtime as datetime,
@minutes as int
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
Insert into UserOnLineLog(userid,ip,starttime,endtime,seconds) values(@userid,@ip,@starttime,@endtime,@minutes)
END
以上是别人写的存储过程,请问,我该怎么使用它呢?这个是插入的意思吧?我在应用程序里,该怎么来访问或者说使用它呢?是不是“Insert (@userid,@ip,@starttime,@endtime,@minutes)
END
这个的意思就是 将参数(@userid,@ip,@starttime,@endtime,@minutes 插入表UserOnLineLog
的userid,ip,starttime,endtime,seconds 字段 一般直接
exec [dbo].[InsertUserOnLineLog] 参数列表
调用
declare @ip as varchar(20)
declare @starttime as datetime
declare @endtime as datetime
declare @minutes as intset @userid = 1
set @ip= 'asdf'
set @starttime = '2009-07-01'
set @endtime = '2009-09-01'
set @minutes = 1exec InsertUserOnLineLog @userid,@ip,@starttime,@endtime,@minutes
exec [InsertUserOnLineLog]
@userid @ip,
@starttime,
@endtime,
@minutes
SqlConnection con = new SqlConnection(SqlConn);
try
{
SqlCommand cmd = new SqlCommand();
cmd.CommandType = CommandType.StoredProcedure;
cmd.Connection = con;
cmd.CommandText = "InsertUserOnLineLog"; --你的存储过程名称
con.Open();
cmd.Parameters.Clear();
cmd.Parameters.AddWithValue("@userid", userid); --参数
cmd.Parameters.AddWithValue("@starttime", starttime); --参数
cmd.Parameters.AddWithValue("@endtime", endtime); --参数
cmd.Parameters.AddWithValue("@minutes", minutes); --参数
cmd.ExecuteNonQuery();
}
catch (Exception ex)
{
throw ex;
}
finally
{
}
SQl:
exec InsertUserOnLineLog userid,starttime,endtime,minutes