代码如下:我是想实现添加功能,在文本框中输入数据,然后显示相应的数据 protected void Button1_Click(object sender, EventArgs e)
    {
        if (this.TextBox1.Text == "" && this.TextBox2.Text == "" && this.TextBox3.Text == "" && this.TextBox8.Text == "" && this.TextBox7.Text == "" && this.TextBox6.Text == ""
            && this.TextBox5.Text == "" && this.TextBox10.Text == "" && this.TextBox9.Text == "")
        {
            Response.Write("<script language=javascript>alert('信息不能为空,请必须全部填写!')</script>");
        }
        else
        {
            SqlConnection con = new SqlConnection();
            con.ConnectionString = "server=(local);uid=sa;pwd=Dzw1988;database=微波遥感;";
            SqlCommand cmd = new SqlCommand();
            cmd.CommandText = "insert into TextBox11.Text  values(" + this.TextBox1.Text + ",'" + this.TextBox2.Text + "','" + this.TextBox3.Text + "','" + this.TextBox8.Text + "','" + this.TextBox7.Text + "', '" + this.TextBox6.Text + "','" + this.TextBox5.Text + "','" + this.TextBox10.Text + "','" + this.TextBox9.Text + "')";
            cmd.Connection = con;
            con.Open();
            cmd.ExecuteNonQuery();
            con.Close();
        }    }
用TextBox11.Text  表示任意表名,但是在cmd.ExecuteNonQuery()出现对象名TextBox11.Text 无效
我知道是数据库中不存在这样表名的表,我是想实现让它代表任意表。然后实现添加功能

解决方案 »

  1.   

    cmd.CommandText = "insert into "+ TextBox11.Text + " values (
      

  2.   

     cmd.CommandText = "insert into " + TextBox11.Text +" values(" + this.TextBox1.Text + ",'" + this.TextBox2.Text + "','" + this.TextBox3.Text + "','" + this.TextBox8.Text + "','" + this.TextBox7.Text + "', '" + this.TextBox6.Text + "','" + this.TextBox5.Text + "','" + this.TextBox10.Text + "','" + this.TextBox9.Text + "')";
      

  3.   

    TextBox11.Text 怎么实现代表任意表 就是这想不通
    希望有人回答
      

  4.   

      Response.Write("<script language=javascript>alert('信息不能为空,请必须全部填写!')</script>");
    ===
    尽量不要用这种代码,很糟糕
    你可以这样: Page.ClientScript.RegisterStartupScript(this.GetType(),"","alert('信息不能为空,请必须全部填写!'",true);
      

  5.   

    cmd.CommandText = "insert into " + TextBox11.Text +" values('" + this.TextBox1.Text + ",'" + this.TextBox2.Text + "','" + this.TextBox3.Text + "','" + this.TextBox8.Text + "','" + this.TextBox7.Text + "', '" + this.TextBox6.Text + "','" + this.TextBox5.Text + "','" + this.TextBox10.Text + "','" + this.TextBox9.Text + "')";values( 这少了一个'
      

  6.   

    又出现一个问题,就是我在文本框中输入一个名称就显示相应的表数据,可以显示相应的表数据。然后我做添加功能,就是上面我问的。用TextBox11.Text 表示输入的表名,我还要对这张表进行操作,就出错。就说输入的表名不存在。
      

  7.   

    是不是TextBox11.Text 不能代表表名  如果我把TextBox11.Text 改成具体的表如TABLE就可以
    就是绑定具体的表  但我想显示任意的表  并对显示的表进行操作 如添加修改删除等
      

  8.   

    我把上面的都改了 
     这句cmd.ExecuteNonQuery();出现问题
    对象名无效,我就是在文本框中输入任意的表名  出现这问题  我是用TextBox11.Text 代表 
    就像上面的语句我改了  还是出现对象名无效谁知道还要加什么代码吗 我感觉是不是代码对显示的表操作要先清空
      

  9.   

    cmd.CommandText = "insert into " + TextBox11.Text + " values('" + this.TextBox1.Text + "','" + this.TextBox2.Text + "','" + this.TextBox3.Text + "','" + this.TextBox8.Text + "','" + this.TextBox7.Text + "', '" + this.TextBox6.Text + "','" + this.TextBox5.Text + "','" + this.TextBox10.Text + "','" + this.TextBox9.Text + "')";
    注意红色部分!
      

  10.   

    insert into 表 values(.....)这种写法,
    values中的字段个数必须是全部字段!
      

  11.   

    10楼的你好 我做了 就是改了那里还是不行 还是出现输入的表名无效
    还是到这句出问题cmd.ExecuteNonQuery();
    不知怎么回事  就是把TextBox11.Text 改为具体的表名就可以
    这就可以对固定的显示表做添加删除 更新啥的 
    现在改成任意的表就出上面的问题  还要删除 更新也出问题了  
    显示控件是GRIDVIEW  不知是怎么回事大家帮忙看下
      

  12.   

    string sql="....................";
    //这里设置断点,看看sql是否正确,然后执行
    cmd.CommandText=sql;
    试试看!!
      

  13.   

    我把前面的连接语句和添加字符的语句一起发下:前面的语句能实现任意字符输入显示相应数据库中的表,但是像下面按键1的功能就不能实现,就像上面所说,出现对象名无效
     protected void Page_Load(object sender, EventArgs e)
        {
                }
        public void Bind()
        {
             string sql = "select * from {0}";
            sql=string.Format(sql,TextBox4.Text);        SqlConnection con = getCon();
            con.Open();
            SqlCommand cmd = new SqlCommand(sql, con);
            SqlDataAdapter sda = new SqlDataAdapter(cmd);
            DataSet ds = new DataSet();
            sda.Fill(ds);
            GridView1.DataSource = ds;
            GridView1.DataBind();
        }
        public SqlConnection getCon()
        {
           
            string sqlcon = "server=192.168.1.113;database=微波遥感; uid =sa; pwd =Dzw1988";
            SqlConnection con = new SqlConnection(sqlcon);
            return con;
        }       protected void Button1_Click(object sender, EventArgs e)
        {
            if (this.TextBox1.Text == "" && this.TextBox2.Text == "" && this.TextBox3.Text == "" && this.TextBox8.Text == "" && this.TextBox7.Text == "" && this.TextBox6.Text == ""
                && this.TextBox5.Text == "" && this.TextBox10.Text == "" && this.TextBox9.Text == "")
            {
                Response.Write("<script language=javascript>alert('信息不能为空,请必须全部填写!')</script>");
            }
            else
            {
                SqlConnection con = new SqlConnection();
                con.ConnectionString = "server=(local);uid=sa;pwd=Dzw1988;database=微波遥感;";
                SqlCommand cmd = new SqlCommand();
                cmd.CommandText = "insert into"  + TextBox4.Text +  " values('" + this.TextBox1.Text + "','" + this.TextBox2.Text + "','" + this.TextBox3.Text + "','" + this.TextBox8.Text + "','" + this.TextBox7.Text + "', '" + this.TextBox6.Text + "','" + this.TextBox5.Text + "','" + this.TextBox10.Text + "','" + this.TextBox9.Text + "')";
                cmd.Connection = con;
                con.Open();
                cmd.ExecuteNonQuery();
                con.Close();
            }    }
      

  14.   

    是不是这里cmd.ExecuteNonQuery();用错了
      

  15.   

    "insert into" +....
    少空格!!
    应该为:
    "insert into  " +....