日期:2014-05-17  浏览次数:20530 次

asp.net下拉列表框选择表格名称给sqldatasource+Gridview做参数有选择的打开表,如何在编辑模式下添入数据后更新数据?求CSDN高手指点!
本人菜鸟,写了如下C#后台代码希望通过选择下拉列表框的选项,在sqldatasource+Gridview中打开不同的表格(原表格的数据为空) 再使选择打开的表格进入编辑状态,手动添入数据后更新到数据库。但是,好像这段代码有问题,更新不了数据库。RowUpdating事件干脆不会写,@-@晕.......



数据库的表格打开还是空的,是不是绑定数据库的方法 void knbing()中的selectcommand命令有问题啊?可是我要打开选择的表格没有这句好像不行


前台的对应代码基本都有,OnRowEditing等等都写了。

主要代码

[code=C#][/code]
void knbind(string pmeter)
  {
  SqlDataSource1.ConnectionString = "Data Source=LBWin7\\SQLEXPRESS;Initial Catalog=iptt2;Integrated Security=True;Pooling=False;";
  SqlDataSource1.SelectCommand = pmeter;
  GridView1.DataSourceID = "SqlDataSource1";
  GridView1.DataBind();
  }
  protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)
  {
  switch (DropDownList1.SelectedValue)  
  {
  case "iptt423":  
  Label1.Text = "表iptt423";
  Label2.Text = "SELECT * FROM iptt423";  
  break;
  case "iptt827":  
  Label1.Text = "表iptt827";
  Label2.Text = "SELECT * FROM iptt827";  
  break;
  case "iptt934":
  Label1.Text = "表iptt934";
  Label2.Text = "SELECT * FROM iptt934";
  break;
  }
  }
  protected void Button1_Click(object sender, EventArgs e)
  {
  dynbind(Label2.Text.ToString());
   
  }

  protected void GridView1_RowEditing(object sender, GridViewEditEventArgs e)
  {
  GridView1.EditIndex = e.NewEditIndex;
  knbind(Label2.Text.ToString());
  }
  protected void GridView1_RowCancelingEdit(object sender, GridViewCancelEditEventArgs e)
  {
  GridView1.EditIndex = -1;
  knbind(Label2.Text.ToString());

  }
  protected void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e)
  {

  }


我自己感觉好像select * 和添入的数据有冲突,因为的表原本是空白只有字段无数据的......

因为打开的表格是根据下拉列表框的选项来的,并不确定。这时,如何设定 打开的 那个表的第一列属性为只读?就是动态打开的表格如何获得或设定行列的属性?

打开唯一的表格,它的字段什么的都是确定的,网上例子也较多,比较好懂。这动态的我就有点晕了....还要获得EditIndex什么的吗?更新改动什么的要一个单元格一个单元格的来么?

本上网四处游荡,感觉CSDN高手众多,特来求助!请尽量示以代码,谢谢啊!

------解决方案--------------------
C# code

using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;

public partial class _Default : System.Web.UI.Page 
{
    SqlConnection sqlcon;
    SqlCommand sqlcom;
    string strCon = "Data Source=(local);Database=数据库名;Uid=帐号;Pwd=密码";
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            bind();
        }
    }
    protected void GridView1_RowEditing(object sender, GridViewEditEventArgs e)
    {
        GridView1.EditIndex = e.NewEditIndex;
        bind();
    }

//删除
    protected void GridVie