我无法将参数传递给存储过程。抛出错误,但无法获取所需的输出。 .cs
是:将参数传递给ASP.NET的存储过程WinForm
private void btnSubmit_Click(object sender, EventArgs e)
{
try
{
if (cbRegions.SelectedIndex > 0)
{
con = new SqlConnection(connectionString);
cmd = new SqlCommand("dbo.SectionIncharge", con);
cmd.Parameters.Add("@RegionName", SqlDbType.VarChar, 50).Value = cbRegions.SelectedItem.ToString();
cmd.CommandType = CommandType.StoredProcedure;
cmd.Connection = con;
con.Open();
DataTable table = new DataTable();
table.Load(cmd.ExecuteReader());
dgvResults.DataSource = table;
con.Close();
}
}
catch
{
}
}
.sql
是:
ALTER PROCEDURE [dbo].[SectionIncharge] @RegionName varchar(50) --name
AS
select UserName
from SystemUser
where Description LIKE 'RD OFFICE ' + @RegionName AND
Enable = 'Y'
GO
我仔细检查过的存储过程在SQL Server Management Studio中工作正常,但是当我试图从WinForm的,不输出调用它。有人可以请帮助。谢谢
如果在SSMS中调用存储过程是好的,那么问题出在你的C#代码上,而不是用db代码。 –
有人已经指出ExecuteNonQuery给你... 另外,如果你使用LIKE,也许你想连接'%'到你的参数值在proc – AntDC