把查询的表明用textBox传到sql语句中去 select * from table table用参数传进去
不知道这是不是你想要的结果。前台就是一文本框,一按钮,一数据控件。 public void bind() { string sqlstr = "select * from " + TextBox1.Text.Trim(); SqlConnection con = getCon(); con.Open(); SqlCommand cmd=new SqlCommand(sqlstr,con); SqlDataAdapter sda = new SqlDataAdapter(cmd); DataSet ds = new DataSet(); sda.Fill(ds); GridView1.DataSource = ds; GridView1.DataBind(); } public SqlConnection getCon() { string sqlcon = ConfigurationManager.AppSettings["constr"].ToString(); SqlConnection con = new SqlConnection(sqlcon); return con; } protected void Button1_Click(object sender, EventArgs e) { bind(); }
Gridview.datasource=sqlhelper.getDataSet("select * from syscolumns where id in (select id from sysobjects where name='"+TextBox.Text+"')"); Gridview.databind();
string sql="select * from {0}" sql=string.Format(sql,textBox.text); 这样就ok了
select * from table
table用参数传进去
public void bind()
{
string sqlstr = "select * from " + TextBox1.Text.Trim();
SqlConnection con = getCon();
con.Open();
SqlCommand cmd=new SqlCommand(sqlstr,con);
SqlDataAdapter sda = new SqlDataAdapter(cmd);
DataSet ds = new DataSet();
sda.Fill(ds);
GridView1.DataSource = ds;
GridView1.DataBind();
}
public SqlConnection getCon()
{
string sqlcon = ConfigurationManager.AppSettings["constr"].ToString();
SqlConnection con = new SqlConnection(sqlcon);
return con;
}
protected void Button1_Click(object sender, EventArgs e)
{
bind();
}
Gridview.databind();
sql=string.Format(sql,textBox.text);
这样就ok了
就是通过js来调用后台方法,这个方法实现的是gridview的重行绑定
但是要考虑异常,如输入的表名在DB中不存在
在bind()方法中加入try catch
这句出现未将对象引用设置到对象实例
是怎么回事啊