在PostgreSQL中的select语句中传递参数 [英] Passing parameter in select statement in postgresql

查看:888
本文介绍了在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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆