是否可以将参数与NpgsqlDataAdapter一起使用,就像我可以使用NpgsqlCommand一样:
string sql = "SELECT * FROM tbl_student WHERE name = @val";
NpgsqlCommand command = new NpgsqlCommand(sql, conn);
command.Parameters.AddWithValue("@val", name);
我有这个代码,它在gridview上显示有关学生的信息:
string sql = "SELECT * FROM tbl_student WHERE studentname = '" + name + "'";
DataSet ds = new DataSet();
DataTable dt = new DataTable();
NpgsqlDataAdapter da = new NpgsqlDataAdapter(sql, conn);
ds.Reset();
da.Fill(ds); // filling DataSet with result from NpgsqlDataAdapter
dt = ds.Tables[0]; // select select first column
GridView1.DataSource = dt; //connect grid to DataTable
GridView1.DataBind();
我的问题是:我可以以某种方式使用参数(如上例所示)而不是在SQL中使用'“+ name +”'吗? 我总是学习使用参数,使用NpgsqlDataAdapter时是否也需要?
谢谢。
答案 0 :(得分:2)
我曾经有同样的问题,这就是我想出的:
string sql = "SELECT * FROM tbl_student WHERE studentname = @param";
NpgsqlCommand command = new NpgsqlCommand(sql,conn);
command.Parameters.Add("@param", textBox_studentname.Text); //add the parameter into the sql command
DataTable dt = new DataTable();
//load the DataReader object of the command to the DataTable
dt.Load(NpgsqlDataReader reader = command.ExecuteReader(CommandBehavior.CloseConnection));
GridView1.DataSource = dt;