2012-03-18 10 views
0

C#を使用してSQL Serverストアドプロシージャを実行します。これは私の現在のコードです:DLLから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() - ではないすべてのコードパスが

答えて

2

のためにルックアップする必要があり、エラーが非常に明確である:

login_vald() - いないすべてのコードパスが

値を返します...あなたの関数にタイプDataSetのオブジェクトがあるreturnステートメントがないことを意味します:

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 
     } 
01あなたがreturn文を持っている必要があります
+0

DALを作成する正しい軌道にある – deception1

+0

一般的には、データアクセスレイヤーを持つことをお勧めします。ストアドプロシージャを呼び出す方法がわからない場合は、[こちら](http://www.csharp-station.com/Tutorial/AdoDotNet)をご覧ください。何か他のものについては、あなたに不明な点についてより具体的にしてください。 –

0
  1. 値を返すプロシージャを実行する(da.Fill(DS)のようなもの;
  2. リターンデータセット(返信ds)

プロシージャコマンドを実行 example

+0

でDataSetを埋めるために必要と 'validate_app_user'ストアドプロシージャは、パラメータ(例えば、ある種のなしで何でもできることを絶対にありえないようです。ユーザー名、パスワード???) – Steve

+0

私はそれらをBOレイヤーに入れます – deception1

+0

login_valdメソッドの目的は何ですか?ユーザーが登録/承認されているかどうかを確認するには? – Steve

0

、あなたはまた、レコード

 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 
     } 
関連する問題