Ich habe Probleme mit der Übergabe von Parameter an die gespeicherte Prozedur. Es wird kein Fehler ausgegeben, aber die gewünschte Ausgabe kann nicht erfasst werden. .cs
ist:Übergeben von Parameter an gespeicherte Prozedur von 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
ist:
ALTER PROCEDURE [dbo].[SectionIncharge] @RegionName varchar(50) --name
AS
select UserName
from SystemUser
where Description LIKE 'RD OFFICE ' + @RegionName AND
Enable = 'Y'
GO
ich doppelt gespeichert eingecheckt haben Verfahren arbeiten in SQL Server Management Studio in Ordnung, aber wenn ich versuche, es von WinForms zu nennen, ohne Ausgang. Kann mir bitte jemand helfen. Danke
Wenn der Aufruf der gespeicherten Prozedur in SSMS in Ordnung ist, liegt das Problem an Ihrem C# -Code, nicht am DB-Code. –
Jemand hat bereits ExecuteNonQuery auf Sie hingewiesen ... Auch wenn Sie LIKE verwenden, möchten Sie vielleicht ein '%' zu Ihrem Parameterwert in der Prozedur verketten – AntDC