从DLL执行SQL Server存储过程

时间:2012-03-18 09:51:17

标签: c# wpf sql-server stored-procedures dll

我想使用C#执行SQL Server存储过程。这是我目前的代码:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using DBCon;
using System.Data;
using System.Data.SqlClient;

    public class LoginDAl
    {
        public static DataSet  login_vald()
        {
            DBConnect myConnection = new DBConnect();
            SqlCommand comm = new SqlCommand("ph.validate_app_user", myConnection.connection);
            comm.CommandType = CommandType.StoredProcedure;
            DataSet ds = new DataSet();
            SqlDataAdapter da = new SqlDataAdapter();
        }

}

这是一个虚拟的练习项目。 DLL是DAL的标准吗?这是一个桌面应用程序。 这是DAL的一部分。

错误是

  

login_vald() - 并非所有代码路径都返回值

3 个答案:

答案 0 :(得分:2)

错误很明显:

  

login_vald() - 并非所有代码路径都返回值

...表示您的函数缺少return语句,类型为DataSet的对象类似于:

public static DataSet  login_vald()
        {
            DBConnect myConnection = new DBConnect();
            SqlCommand comm = new SqlCommand("ph.validate_app_user", myConnection.connection);
            comm.CommandType = CommandType.StoredProcedure;
            DataSet ds = new DataSet();
            SqlDataAdapter da = new SqlDataAdapter();

            return ds;   //this is missing
        }

答案 1 :(得分:0)

  1. 执行程序(类似da.Fill(ds);
  2. 返回数据集(返回ds;)
  3. 您必须查找执行过程命令 example

答案 2 :(得分:0)

您需要有一个return语句,还需要使用记录填充DataSet

        public static DataSet  login_vald()
        {
            DBConnect myConnection = new DBConnect();
            SqlCommand comm = new SqlCommand("ph.validate_app_user", myConnection.connection);
            comm.CommandType = CommandType.StoredProcedure;
            DataSet ds = new DataSet();
            SqlDataAdapter da = new SqlDataAdapter(ds); //missing argument from SqlDataAdapter this will fill the ds

           return ds; //return filled DataSet
        }