在PostgreSQL中的select语句中传递参数 [英] Passing parameter in select statement in postgresql
本文介绍了在PostgreSQL中的select语句中传递参数的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在尝试在postgresql中的以下select语句中传递参数,但它不返回任何行,
I am trying to pass parameter for below select statement in postgresql, but it is not returning any row,
cmd.Parameters.AddWithValue("@name", richTextBox_searchEmp.Text);
string sql = "select * from tbl_emp_Info where LOWER(firstname) like LOWER('@name%');";
其中-richTextBox_searchEmp.Text是第一个
也尝试过-
where- richTextBox_searchEmp.Text is "first" have also tried -
cmd.Parameters.AddWithValue("@name", NpgsqlDbType.Char , searchEmp.Text);
同时,下面的无参数查询总是返回正确的结果。
while, parameter less query below always returning correct results.
string sql = "select * from tbl_emp_Info where LOWER(firstname) like LOWER('first%');";
请帮助!
完成代码
conn.Open();
cmd.Parameters.AddWithValue("@name", NpgsqlDbType.Char , richTextBox_searchEmp.Text);
string sql = "select * from tbl_emp_Info where LOWER(firstname) like LOWER('@name%');";
NpgsqlDataAdapter da = new NpgsqlDataAdapter(sql, conn);
cmd.Connection = conn;
cmd.CommandText = sql;
cmd.ExecuteNonQuery();
ds.Reset();
da.Fill(ds);
dt = ds.Tables[0];
dataGridView.DataSource = dt;
推荐答案
用%like
将查询更改为
string sql = "select * from tbl_emp_Info where LOWER(firstname) like LOWER(@name);";
并通过@name like
And Pass @name like
cmd.Parameters.AddWithValue("@name", "%" + searchEmp.Text + "%");
这篇关于在PostgreSQL中的select语句中传递参数的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文