我正在使用.NET运行这个存储过程:
public List<showWhatClass> showWhatMethod(string deviceWhat, int tagWhat, Decimal latit, Decimal longit, int Process, string CallNext, int CallNextVar)
{
showWhatCell = new List<showWhatClass>();
try
{
using (connection = new SqlConnection(connectionString))
{
using (SqlCommand command = new SqlCommand("iosShowWhat", connection))
{
command.CommandType = CommandType.StoredProcedure;
command.Parameters.AddWithValue("@DeviceId", deviceWhat);
command.Parameters.AddWithValue("@TagId", tagWhat);
command.Parameters.AddWithValue("@Latitude", latit);
command.Parameters.AddWithValue("@Longitude", longit);
command.Parameters.AddWithValue("@Process", Process);
command.Parameters.AddWithValue("@CallNext", CallNext);
command.Parameters.AddWithValue("@CallNextVar", CallNextVar);
connection.Open();
SqlDataReader reader = command.ExecuteReader();
while (reader.Read())
{
showWhatClass item = new showWhatClass();
item.CallNext = reader.GetValue(0).ToString();
item.CallNextVar = (int)reader.GetValue(1);
showWhatCell.Add(item);
}
}
}
}
finally
{
connection.Close();
}
return showWhatCell;
}
存储过程返回以下消息:
当我运行时,我得到以下内容:
<ArrayOfshowWhatClass xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/WebServiceAPI.Models"/>
是空的
我的问题是我做错了什么,当我使用.NET运行它但是确实在SQL Server中返回消息时,什么都没有返回。
这是我的showWhatClass
public class showWhatClass
{
public string CallNext { get; set; }
public int CallNextVar { get; set; }
}
答案 0 :(得分:0)
尝试更改参数:
command.Parameters.AddWithValue("@DeviceId", deviceWhat);
以下内容:
command.Parameters.Add("@DeviceId", SqlDbType.Int).Value = deviceWhat;