У меня возникли проблемы с передачей параметра в хранимую процедуру. Ошибка не возникает, но желаемый результат не может быть получен. .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