首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >sqlhelper输出参数

sqlhelper输出参数
EN

Stack Overflow用户
提问于 2011-07-27 12:12:03
回答 3查看 3K关注 0票数 0

我正在上SQLHelper课。以及如何获得@Email value

代码语言:javascript
复制
protected void Button1_Click(object sender, EventArgs e)
    {
        try
        {
         bl.user_id = TextBox1.Text;
         DataTable  dt= bl.forget();
         if (dt.Rows.Count != 0)
         {
             Response.Write(  dt.Rows[0]["@Email"].ToString());
         }
        }
        catch (Exception g)
        {
            Response.Write(g.Message);
        }
    }

部分..。

代码语言:javascript
复制
 DataSet ds = SqlHelper.ExecuteDataset(bl.str, CommandType.StoredProcedure,     
               "forFetPasswo",new SqlParameter("@Email", bl.user_id));
                    DataTable dt = new DataTable();
                    if (ds.Tables.Count != 0)
                    {
                      dt = ds.Tables[0];
                    }
                    return dt; 

sql部分.

代码语言:javascript
复制
Alter PROCEDURE  Abc
    @Email nvarchar(100)output
AS
BEGIN
     if (@Email !=null)
      begin
       if exists(select * from UserLogin where Emailid =@Email )
         begin
          select @Email ='mail send'
         end           
       end
        else
        begin
         select @Email='invalid email id'
        end

END
GO
EN

回答 3

Stack Overflow用户

发布于 2011-07-27 12:18:55

您正在返回一个输出参数,但没有在.net代码中处理它。你在找一个数据集。

快速解决方法是在最后将select @Email AS email添加到存储的proc中。

否则,将new SqlParameter更改为另一个使用方向的过载

票数 0
EN

Stack Overflow用户

发布于 2011-07-27 12:20:19

在您的存储过程中,您只分配@Email变量,应该在存储过程的末尾添加类似的内容

代码语言:javascript
复制
 select @Email as Email

并在代码中访问它

代码语言:javascript
复制
Response.Write(  dt.Rows[0]["Email"].ToString());  

并删除output参数;)

票数 0
EN

Stack Overflow用户

发布于 2013-10-02 05:09:53

在您的情况下,使用用户DataSet或输出参数.因为您只返回一个Value....use输出参数。

代码语言:javascript
复制
var param=new SqlParameter("@Email",SqlDBType.VarChar,100).Direction=ParameterDirection.Output;
SqlHelper.ExecuteNonQuery(con,Abc,param);
var Email=param.Value.toString();

同样,在SP中使用SET而不是SELECT,如果u can....btw没有多大关系

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6844065

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档