2016-07-19 2 views
-2

私は他のWindowsアプリケーションで使用するたびに数値を生成するクラスライブラリを作成しました。使用するたびにその数値が更新されます。FUNCTIONが必要な値を返さない

public int Generate_num(string P_PRM_TYPE) 
{ 
    try 
    { 
     int v_last_no = 0; 
     string query = @"select PARM_VALUE from soc_parm_mast where PARM_TYPE = '" + P_PRM_TYPE + "';"; 
     command.CommandText = query; 
     OleDbDataReader reader = command.ExecuteReader(); 
     reader.Read(); 
     v_last_no = Int32.Parse(reader["PARM_VALUE"].ToString()) + 1; 
     reader.Close(); 
     command.CommandText = @"update soc_parm_mast set PARM_VALUE = PARM_VALUE+1 where PARM_TYPE = " + P_PRM_TYPE + ";"; 
     command.ExecuteNonQuery(); 
     return v_last_no; 
    } 
    catch(Exception exception) 
    { 
     return 404; 
    } 
} 

このクラスをいくつかの他のウィンドウアプリケーションで使用しています。毎回私はそれが正常に動作していないと常に返しているit.Butを呼び出す404あなたは、このよう' 'を配置する必要がありますので、2番目のクエリに不足している引用符がありますが、P_PRM_TYPEが文字列である

int vTrans_no = GEN_NO.Generate_num("TRAN"); 
+0

常に404を返すので、コードがcatchブロックに当たることを意味します。あなたは例外の詳細を教えていただけますか? – Sagar

+0

あなたはそれをデバッグしようとしましたか?はいの場合は、なぜ例外が起こっているのかを知っているはずです。そうでない場合はまずそれを行います。 – Sak

+0

は、クラスライブラリによって管理されている接続です。またはいくつかの設定から接続文字列値を検索しますか?たとえば、このライブラリは他のアプリケーションと連携してビルドされており、その接続はこれらのアプリケーションの設定から取得されます。この場合、app.configに接続文字列を追加する必要があります –

答えて

0

command.CommandText = @"update soc_parm_mast set PARM_VALUE = PARM_VALUE+1 where PARM_TYPE = '" + P_PRM_TYPE + "';" 
関連する問題