首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

sql查询有关问题,比较复杂

2012-02-07 
sql查询问题,比较复杂在一个页面中我方了一个gridview1,sqldatasource来显示数据(已经连接好了),在输入框

sql查询问题,比较复杂
在一个页面中我方了一个gridview1,sqldatasource来显示数据(已经连接好了),在输入框中设置查询的关键字,我的查询是这样写的:
protected   void   Button1_Click(object   sender,   EventArgs   e)
        {
                SqlConnection   conn;
                SqlCommand   mycommned;
                SqlDataReader   myreader;
                SqlParameter   str_temp;
                int   listindex;

                listindex   =   0;
                listindex   =   DropDownList1.SelectedIndex;
                conn   =   new   SqlConnection();
                conn.ConnectionString   =   ConfigurationManager.ConnectionStrings[ "jwglConn "].ConnectionString;

                mycommned   =   new   SqlCommand();
                switch   (listindex)
                {
                        case   0:   mycommned.CommandText   =   "select   *   from   class_tabl   ";
                                        break;
                        case   1:   mycommned.CommandText   =   "select   *   from   class_tabl   where   class_id     like   '%@ "+TextBox2.Text.Trim()+ "% ' ";
                                        break;
                    //     case   2:   mycommned.CommandText   =   "select   *   from   class_tabl   ";
                    //     case   3:   mycommned.CommandText   =   "select   *   from   class_tabl   ";
                      //   case   4:   mycommned.CommandText   =   "select   *   from   class_tabl   ";
                }
                mycommned.CommandType   =   CommandType.Text;
                mycommned.Connection   =   conn;

              //   str_temp   =   new   SqlParameter();
              //   str_temp.ParameterName   =   "@str_temp ";
              //   str_temp.SqlDbType   =   SqlDbType.Char;
              //   str_temp.Size   =   10;
            //     str_temp.Direction   =   ParameterDirection.Input;


              //   str_temp.Value   =   TextBox2.Text.Trim();

          //       mycommned.Parameters.Add(str_temp);
               

                mycommned.Connection.Open();
                myreader   =   mycommned.ExecuteReader(CommandBehavior.CloseConnection);
                GridView1.DataSource   =   null;
                GridView1.DataSource   =   myreader;
            //     GridView1.DataSource   =   SqlDataSource1.ConnectionString;

                mycommned.Dispose();
                conn.Dispose();
        }
但是提示出错,如下:
“/WebSite2”应用程序中的服务器错误。
--------------------------------------------

“GridView1”上同时定义了   DataSource   和   DataSourceID。请移除一个定义。  
说明:   执行当前   Web   请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。  

异常详细信息:   System.InvalidOperationException:   “GridView1”上同时定义了   DataSource   和   DataSourceID。请移除一个定义。

源错误:  

执行当前   Web   请求期间生成了未处理的异常。可以使用下面的异常堆栈跟踪信息确定有关异常原因和发生位置的信息。    

堆栈跟踪:  


[InvalidOperationException:   “GridView1”上同时定义了   DataSource   和   DataSourceID。请移除一个定义。]
      System.Web.UI.WebControls.DataBoundControl.ConnectToDataSourceView()   +367

 
请问一下,这个问题该怎么解决,谢谢

[解决办法]
“GridView1”上同时定义了 DataSource 和 DataSourceID。请移除一个定义。
[解决办法]
一般这样的需求都是使用objectdatasource的,但是不会也没关系

这样,你在Button1_Click中这样写

GridView1.DataSourceID = null;

GridView1.DataSource = myreader;

GridView1.DataBind();

[解决办法]
GridView1.DataSource = myreader;
改成
GridView1.DataSourceID = myreader;
[解决办法]
cpp2017(慕白兄)正解,楼主的问题应该解决了吧

热点排行