注册 登录
编程论坛 ASP.NET技术论坛

如何调用 public int ExecuteSql(string sql, out string errText) 这样的方法?

sw4433 发布于 2010-06-17 14:31, 2445 次点击
public int ExecuteSql(string sql, out string errText)
    {
        try
        {
            errText = string.Empty;
            DbCommand cmd = DBcnn.CreateCommand();
             = CommandType.Text;
             = sql;
            return cmd.ExecuteNonQuery();
        }
        catch (System.Exception e)
        {
            errText = e.Message;
            return -1;
        }

    }
下面是调用
public bool selectByEmail(string email)
    {
        int rs;
        string sql = "select count(*) from EcrdAccount where email="+email;
        rs = sqlHelper.ExecuteSql(sql,  ??? );//这里怎么写?
        return rs > 0;
    }
8 回复
#2
sw44332010-06-17 14:32
out string errText 是什么意思?

为什么要加out ,有什么好处?
#3
yms1232010-06-17 15:35
out代表传出参数,加out是指这个参数是接收函数传出的值,因为函数只能有一个返回值,而要返回多个值的情况下就需要out把多个返回值以参数形式传出去。
#4
yms1232010-06-17 15:37
public bool selectByEmail(string email)
    {
        int rs;
        string sql = "select count(*) from EcrdAccount where email="+email;
        string errmsg="";//这是错误消息字符串用以接收传出的值
        rs = sqlHelper.ExecuteSql(sql,errmsg);//这里怎么写?
        if(errmsg!="")
           response.write "错误信息:"+errmsg
        return rs > 0;
    }
#5
冰镇柠檬汁儿2010-06-17 16:37
yms123说的很对,我认为out这个关键词,应该是把方法里的某个值抛出的意思。
#6
冰镇柠檬汁儿2010-06-17 16:38
string errText;
rs = sqlHelper.ExecuteSql(sql, out errText);//这里怎么写?
#7
sw44332010-06-17 17:34
好象是抛出什么错误信息?
就是不太明白,直接根据返回值判断不也可以吗?

这种写发有什么好处?
#8
saitor2010-06-17 20:29
好处就是在你使用这个方法的各冒泡阶段你都可以得到相同的错误提示。
#9
冰镇柠檬汁儿2010-06-18 09:39
以下是引用sw4433在2010-6-17 17:34:21的发言:

好象是抛出什么错误信息?
就是不太明白,直接根据返回值判断不也可以吗?

这种写发有什么好处?
就是说,把方法里的某个值抛出来,而不是return出来,这样的好处是,如果在一个方法里你需要返回多个值的时候,用out的方式就可以做到
1