初次来MS-SQL Server 混散点分纪念一下,顺便问比较愚蠢的问题。

Toti 2005-08-01 06:43:03
在代码里怎样访问到数据库上的存储过程,大家有没有关于存储过程的资料奉贤一点
...全文
208 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
bixin 2005-08-02
  • 打赏
  • 举报
回复
楼上的,exec....可以用在程序中吗???
Toti 2005-08-02
  • 打赏
  • 举报
回复
谢谢各位捧场,我用的是C#
我想在代码里面用到数据库上某个存储过程,我在代码里面要写什么来
连接存储过程的语句吗???
我的朋友曾经给了一个这样连接存储过程的语句,不知道对不对??
SqlCommand Cmd = new SqlCommand(sp_Name, Conn);

Cmd.CommandType = CommandType.StoredProcedure;

Cmd.Parameters.Add(parameter);
wangdehao 2005-08-02
  • 打赏
  • 举报
回复
对,楼主用的是什么语言?楼主的意思应该是想知道怎么调用存储过程吧?
Toti 2005-08-02
  • 打赏
  • 举报
回复
看来是到了揭贴的时间,第一次来这里就有点失望
橘子香水 2005-08-02
  • 打赏
  • 举报
回复
你用的是什么开发工具?
chinawares 2005-08-01
  • 打赏
  • 举报
回复
我也理解成楼上的意思,楼主是不是如何运行存储过程?如果是,应该这么用:

exec 存储过程名 @参数1 = 内容1, @参数2 = 内容2...

呵呵,希望理解正确
junly1981 2005-08-01
  • 打赏
  • 举报
回复
不知道是不是我理解错了,楼主的意思是不是存储过程的调用呀?
zlp321002 2005-08-01
  • 打赏
  • 举报
回复
--1:存储过程返回DataSet 的例子:

C# 代码 :通用类

public static int SingleSTCD(DateTime StartTime,DateTime EndTime,int SMTP,string JL,string STDCD,string STCDSTR, out DataSet ds )
{
int ret=0;
ds=null;

OleDbConnection Constring=new OleDbConnection(Appraise.ConStr);
OleDbCommand cmd=new OleDbCommand("P_Get_STCD_SingleAppraise_XunQi",Constring);
try
{
OleDbDataAdapter ada=new OleDbDataAdapter();
cmd.CommandType=CommandType.StoredProcedure;
cmd.Parameters.Add("@StartTime", OleDbType.DBTimeStamp).Value=StartTime ;
cmd.Parameters.Add("@EndTime", OleDbType.DBTimeStamp).Value=EndTime ;
cmd.Parameters.Add("@SMTP", OleDbType.Integer).Value=SMTP ;
cmd.Parameters.Add("@JL", OleDbType.VarChar, 50).Value=JL ;
//cmd.Parameters.Add("@STDCD", OleDbType.VarChar, 50).Value=STDCD ; //评价标准
cmd.Parameters.Add("@STCDSTR", OleDbType.VarChar, 8000).Value=STCDSTR ;

System.Data.DataSet data = new DataSet();
ada.SelectCommand = cmd;
ada.Fill(data,"table");
ds = data;
ret=ds.Tables[0].Rows.Count;
if ( ret ==-1 )
{
return -1000; //无数据
}
else
{
return ret;
}

}
catch(Exception e)
{
//数据库操作发生错误,返回错误代码
System.Diagnostics.Debug.WriteLine(e.Message);
return -1001;
}
finally
{
Constring.Close();
cmd.Parameters.Clear();
}

VB.net 调用:

Private Sub BindingDataGrid_Query()
Dim ds As System.Data.DataSet
Zehua.Water.Appraise.SingleSTCD("1999-5-1", "1999-9-1", 1, "Ⅲ", "", "50181300,50185050,50181350,50185100,50185150,50185200,50185250,50181200,50185150,51282300", ds)
DataGrid_Query.DataSource = ds
DataGrid_Query.DataBind()
End Sub


--1:存储过程返回数组字符串

REM 执行存储过程,返回一数组
Public Shared Function ExecuteSP_ToArrary(ByVal sConnString As String, ByVal Text_STCD As String, ByVal Text_TIME As String, ByRef TableInfo() As String)
Dim conn As OleDbConnection = New OleDbConnection(sConnString)
ReDim TableInfo(2)

Try
conn.Open()
Dim command As OleDbCommand = New OleDbCommand("P_GET_QueryValue", conn)
command.CommandType = CommandType.StoredProcedure
Dim sqlParams() As OleDbParameter = {New OleDbParameter("@STCD", Text_STCD), New OleDbParameter("@GETM", Text_TIME), New OleDbParameter("@ReturnValue", OleDbType.VarChar, 8000), New OleDbParameter("@ReturnColumnCode", OleDbType.VarChar, 8000), New OleDbParameter("@ReturnColumnName", OleDbType.VarChar, 8000)}
sqlParams(2).Direction = ParameterDirection.Output
sqlParams(3).Direction = ParameterDirection.Output
sqlParams(4).Direction = ParameterDirection.Output
Dim i As Integer = 0
While i < sqlParams.Length
command.Parameters.Add(sqlParams(i))
i += 1
End While
command.ExecuteNonQuery()
If sqlParams(2).Value.ToString().Length > 0 Then
TableInfo(0) = sqlParams(2).Value.ToString()
Else
End If

If sqlParams(3).Value.ToString().Length > 0 Then
TableInfo(1) = sqlParams(3).Value.ToString()
Else
End If

If sqlParams(4).Value.ToString().Length > 0 Then
TableInfo(2) = sqlParams(4).Value.ToString()
Else
End If

Catch ex As Exception
ZeHua.Log.exNoteBugs(ex, "SigleStcdEdit.aspx") 'sb.Append(ex.Message)
Finally
conn.Close()
End Try


End Function

zlp321002 2005-08-01
  • 打赏
  • 举报
回复
--存储过程例子
CREATE PROCEDURE AddBook
@name varchar(100),
@type smallint,
@author varchar(30),
@translator varchar(30),
@publisher varchar(100),
@price decimal,
@discount decimal,
@cover image,
@description text,
@hits smallint,
@sales smallint,
@status bit
as
insert book(type,name,author,translator,publisher,price,discount,cover,description,hits,sales,status)
values(@type,@name,@author,@translator,@publisher,@price,@discount,@cover,@description,@hits,@sales,@status)
GO
Toti 2005-08-01
  • 打赏
  • 举报
回复
vivianfdlpw()
我试了好象不行啊
vivianfdlpw 2005-08-01
  • 打赏
  • 举报
回复
select * from syscomments where text like '%procedure%'
Toti 2005-08-01
  • 打赏
  • 举报
回复
日在线等,怎么没有人来,希望大家帮帮我,我没有用过存储过程
Toti 2005-08-01
  • 打赏
  • 举报
回复
UP

34,590

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧