我創建了一個存儲過程來選擇表的所有值。 但我想在C#應用程序,組合框只顯示值開始像love
關鍵字。只顯示組合框的值,如「愛」?
例子:
love love
love king
love soft
不顯示項目:
long time
union all
我的代碼:
public void HienThiLoaiBCao()
{
LovetoDAL cal = new LovetoDAL();
string keyword = "BC";
int i = cbxTenBaoCao.FindString(keyword);
if (i == -1)
return;
else
{
var dt = cal.Love_GetByTop("", "", "ID DESC");
cbxTenBaoCao.DataSource = dt;
cbxTenBaoCao.DisplayMember = "lover";
cbxTenBaoCao.ValueMember = "lover";
}
}
public DataTable Love_GetByTop(string Top, string Where, string Order)
{
using (var cmd = new SqlCommand("sq_Love_GetByTop", GetConnection()))
{
cmd.CommandType = CommandType.StoredProcedure;
var da = new SqlDataAdapter(cmd);
cmd.Parameters.Add(new SqlParameter("@Top", Top));
cmd.Parameters.Add(new SqlParameter("@Where", Where));
cmd.Parameters.Add(new SqlParameter("@Order", Order));
var dt = new DataTable();
da.Fill(dt);
return dt;
}
}
USE [LEO]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE [dbo].[sq_Love_GetByTop]
@Top nvarchar(10),
@Where nvarchar(500),
@Order nvarchar(500)
AS
Declare @SQL as nvarchar(500)
Select @SQL = 'SELECT top (' + @Top + ') * FROM [Love]'
if len(@Top) = 0
BEGIN
Select @SQL = 'SELECT * FROM [Love]'
END
if len(@Where) >0
BEGIN
Select @SQL = @SQL + ' Where ' + @Where
END
if len(@Order) >0
BEGIN
Select @SQL = @SQL + ' Order by ' + @Order
END
EXEC (@SQL)
感謝。
你在Windows窗體或WPF編碼? – Alexei