在c#中创建唯一的项目代码

时间:2017-04-20 07:49:23

标签: c# .net sql-server

我有两个表单,一个是带有字段clientname和clientcode的客户端,另一个是带有字段clientname下拉列表和projectname的项目。

我想以特定的模式创建唯一的项目代码,即clientname = sports和clientcode = spr。

我尝试创建一个名为ProjectID的函数,我在变量prID中存储了日,月,年,并使用连接查询获取客户端代码并存储在另一个变量cltcode中,然后将这两个变量连接到第三个项目代码并返回此项目代码

我收到此错误“并非所有代码路径都返回值”

当我取消注释返回项目代码时;最后阻止它后的语句说“使用未分配的局部变量projectcode”

这是我的代码请帮助

public string ProjectID()
    {
        string prID = DateTime.Now.Day.ToString() + DateTime.Now.Month.ToString() + DateTime.Now.Year.ToString();
        long ID = Convert.ToInt64(prID);
        string projectcode;
        string cltcode;
        try
        {
            con.Open();
            SqlCommand cmd = con.CreateCommand();
            cmd.CommandType = CommandType.Text;
            cltcode = cmd.CommandText = "SELECT com.compcode from company_code AS com JOIN client_code AS cl ON com.compname = cl.clientname";
            string clientcode = cltcode.ToString();
            cmd.ExecuteNonQuery();
            projectcode = clientcode + ID;
            return projectcode;

        }
        catch (Exception e)
        {
            string message = "create id error";
            message += e.Message;
        }
        //return projectcode;
        finally
        {
            con.Close();
        }

        return projectcode;

    }

3 个答案:

答案 0 :(得分:-1)

"并非所有代码路径都返回值"?

你需要回到这个:

With shp.TextFrame.TextRange
    .Text = removeMultiBlank(.Text)
End With

答案 1 :(得分:-1)

试试这些事情:

首先将变量初始化为string projectcode = null; 第二步从try范围中删除此行return projectcode;

答案 2 :(得分:-1)

问题是,如果您的try{}阻止失败,则projectcode不会被分配。

在您的声明中使用:

string projectcode = "";