我有兩種形式之一是客戶端字段客戶端名稱和客戶端代碼,另一種是項目字段客戶端名稱下拉列表和項目名稱。在c#中創建獨特的項目代碼#
我想創建一個特定的模式,即clientname =體育和clientcode = spr獨特的項目代碼。
我試着創建一個名爲ProjectID的函數,我在一個變量prID中存儲了day,month,year,並使用連接查詢獲取客戶端代碼並存儲在另一個變量cltcode中,然後將這兩個變量連接到第三個projectcode並返回projectcode。
我得到這個錯誤「並非所有的代碼路徑返回一個值」
,當我取消返回projectcode;最後經過語句塊它說:「使用未分配的局部變量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;
}
使用未分配的局部變量projectcode的只是意味着你還沒有分配一個值projectcode,這是真的,因爲你已經宣佈它沒有初始值。你也應該知道,通過在try塊內返回projectcode,連接永遠不會被關閉。考慮只在方法結束時返回項目代碼,並選擇默認值,或者在關閉連接後重新提升異常 – Ben
這段代碼很難看,你知道。這麼多變量使用的原因是什麼?你有沒有聽說過String.Format? – anatol
@anatol謝謝你的反饋我會盡力讓它好 – Nirmala