大家好我在特定datagridview
列中返回sql server标量值函数的值时遇到问题,代码如下: -
1- sql功能: -
CREATE FUNCTION [dbo].[ToLocationID](@ID int)
RETURNS varchar(50)
AS
BEGIN
-- Declare the return variable here
DECLARE @LocationName varchar(50)
-- Add the T-SQL statements to compute the return value here
SELECT @LocationName=dbo.Location.LocationName FROM Location WHERE LocationID=@ID
-- Return the result of the function
RETURN @LocationName
END
2-C#执行功能的方法: -
public static string MyMethod(int ID) {
string SqlConnStr = globals.ServerConnStr;
SqlConnection SqlConn = new SqlConnection(SqlConnStr);
try
{
SqlConn.Open();
SqlCommand cmd = new SqlCommand("SELECT dbo.ToLocationID(@ID)", SqlConn);
cmd.Parameters.Add(new SqlParameter("@ID", ID));
return cmd.ExecuteScalar().ToString();
}
finally
{
SqlConn.Close();
}
}
这是gridview代码: -
//GetAllTransfers is a method that executes a stored procedure to return most of the //columns like the column["Date"] below
dataGridViewList.DataSource = Data.GetAllTransfers();
dataGridViewList.Columns["Date"].HeaderText = "Date";
dataGridViewList.Columns.Add("ToLocationID", "To Location");
dataGridViewList.Columns["ToLocationID"].DisplayIndex = 5;
dataGridViewList.Columns["ToLocationID"].Tag = Data.MyMethod(1);
我只想用方法“MyMethod”中的标量函数的结果填充“ToLocationID”列,这段代码出了什么问题?