我正在使用存儲過程從SQL Server數據庫檢索員工詳細信息。它在分段服務器上工作正常。執行存儲過程時出現「找不到存儲過程」錯誤消息
我剛更改了連接字符串。我已經指出它在我的本地SQL Server。連接字符串是正確的。我收到錯誤附近
cmd.executenonquery()
這就是我要做的:
public EmployeeDetail GetClientData(int? clientId, string empId, string citizenId, string connectingString)
{
string constring = connectingString;
EmployeeDetail objclValues = new EmployeeDetail();
using (SqlConnection con = new SqlConnection(constring))
{
using (SqlCommand cmd = new SqlCommand("usp_Corporate_Employee_Get_Info_for_KYC", con))
{
cmd.CommandType = CommandType.Text;
if (clientId == null)
{
cmd.Parameters.AddWithValue("@CorporateID", DBNull.Value);
}
else
{
cmd.Parameters.AddWithValue("@CorporateID", clientId);
}
if (string.IsNullOrEmpty(empId))
{
cmd.Parameters.AddWithValue("@EmpId", DBNull.Value);
}
else
{
cmd.Parameters.AddWithValue("@EmpId", empId);
}
if (string.IsNullOrEmpty(citizenId))
{
cmd.Parameters.AddWithValue("@CitizenId", DBNull.Value);
}
else
{
cmd.Parameters.AddWithValue("@CitizenId", citizenId);
}
cmd.Parameters.Add("@CorporateName", SqlDbType.VarChar, 40);
cmd.Parameters.Add("@EmpFullName", SqlDbType.VarChar, 40);
cmd.Parameters.Add("@Nationality", SqlDbType.VarChar, 100);
cmd.Parameters.Add("@RetEmpId", SqlDbType.VarChar, 20);
cmd.Parameters.Add("@RetCitizenID", SqlDbType.VarChar, 15);
cmd.Parameters.Add("@ResponseCode", SqlDbType.VarChar, 2);
cmd.Parameters.Add("@ResponseMessage", SqlDbType.VarChar, 70);
cmd.Parameters["@CorporateName"].Direction = ParameterDirection.Output;
cmd.Parameters["@EmpFullName"].Direction = ParameterDirection.Output;
cmd.Parameters["@Nationality"].Direction = ParameterDirection.Output;
cmd.Parameters["@RetEmpId"].Direction = ParameterDirection.Output;
cmd.Parameters["@RetCitizenID"].Direction = ParameterDirection.Output;
cmd.Parameters["@ResponseCode"].Direction = ParameterDirection.Output;
cmd.Parameters["@ResponseMessage"].Direction = ParameterDirection.Output;
con.Open();
cmd.ExecuteNonQuery();
con.Close();
objclValues.ClientName = Convert.ToString(cmd.Parameters["@CorporateName"].Value.ToString());
objclValues.EmpName = Convert.ToString(cmd.Parameters["@EmpFullName"].Value.ToString());
objclValues.Nationality = Convert.ToString(cmd.Parameters["@Nationality"].Value.ToString());
objclValues.RetEmpId = Convert.ToString(cmd.Parameters["@RetEmpId"].Value.ToString());
objclValues.RetCitizenID = Convert.ToString(cmd.Parameters["@RetCitizenID"].Value.ToString());
objclValues.ResponseCode = Convert.ToString(cmd.Parameters["@ResponseCode"].Value.ToString());
objclValues.ResponseMessage = Convert.ToString(cmd.Parameters["@ResponseMessage"].Value.ToString());
objclValues.clientId = clientId.GetValueOrDefault(0);
objclValues.EmpId = Convert.ToString(cmd.Parameters["@RetEmpId"].Value.ToString());
objclValues.EmpCitizenId = Convert.ToString(cmd.Parameters["@RetCitizenID"].Value.ToString());
}
}
return objclValues;
}
連接字符串如下。
<!--<add key="SPConnectionstring" value="Data Source=192.168.0.210;Initial Catalog=Test_C3CKYC;UID=sa;[email protected]" />-->
<add key="SPConnectionstring"
value="Data Source=aufbkmjvl28\sqlexpress;Initial Catalog=C3KYC;persist security info=True;UID=sa;[email protected]" />
上面,註釋掉部分將正常工作。
我可以知道爲什麼我得到這個錯誤嗎?謝謝
你有沒有在一開始例如用模式嘗試'dbo'?看起來你犯了別的錯誤,因爲代碼看起來是正確的。 – Fka
我可以訪問其他表格(除SP以外的其他表格) –
嗯 - 考慮到你提到的唯一改變的就是連接字符串 - 你有數據庫上的過程嗎? –