你能告诉我这个有什么问题吗?
ALTER proc [dbo].[UrunuGetir](@basharf nvarchar(5))
as
select adi, urunid, kategori
from urun
where (UPPER(adi) like UPPER('%' +'@basharf'+ '%'))
or (LOWER(adi) like LOWER ('%' +'@basharf'+ '%'))
order by kategori
没有错误但也没有数据。
这里是编辑:
protected void Button1_Click(object sender, EventArgs e)
{
if (TextBox1.Text != null)
{
UrunGetir(TextBox1.Text);
}
else
{
return;
}
}
private void UrunGetir(string p)
{
SqlConnection baglanti = new SqlConnection("....");
SqlDataAdapter dap = new SqlDataAdapter("select adi, urunid, kategori, birimf from urun where (UPPER(adi) like '%' + UPPER(@basharf) + '%' ) or (LOWER(adi) like '%' + LOWER(@basharf) + '%' ) order by kategori", baglanti);
dap.SelectCommand.Parameters.Add("@basharf", p);
if (baglanti.State == System.Data.ConnectionState.Closed)
baglanti.Open();
DataTable dt = new DataTable();
dap.Fill(dt);
GridView1.DataSource = dt;
GridView1.DataBind();
if (baglanti.State == System.Data.ConnectionState.Open)
baglanti.Close();
HiddenField1.Value = p.Substring(0,p.Length);
}
最佳答案
这个位:
UPPER('%' +'@basharf'+ '%')
您要连接三个字符串,因此该表达式等于:
UPPER('%@basharf%')
你的意思可能是:
'%' + UPPER(@basharf) + '%'
它将传入的参数与 %
符号连接起来。
关于c# - 如何使用忽略大小写敏感的参数编写存储过程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7918167/