功能不返回所需的值

时间:2016-07-19 12:30:39

标签: c# ms-access-2007 class-library

我创建了一个类库,每次在任何其他Windows应用程序中使用它时都会生成一个数字,并且每次使用它时都会更新数字。

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;
    }
}

我在其他一些Windows窗体应用程序中使用此类来生成新的no。每当我打电话给它。但它没有正常工作,总是返回404。

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

1 个答案:

答案 0 :(得分:0)

第二个查询中缺少引号,P_PRM_TYPE是一个字符串,因此您需要像这样放置' '

command.CommandText = @"update soc_parm_mast set PARM_VALUE = PARM_VALUE+1 where PARM_TYPE = '" + P_PRM_TYPE + "';"