none
databind()的问题 RRS feed

  • 问题

  • 各位老大, 我想问问关于detailsview的databind()的问题. 当我用SQL语句更新了某些字段后, 想用databind()的方法在detailsview里面马上显示出来. 但是不成功, 每次都需要重新打开网页的时候, 更新了的字段才可以显示出来. 请问有什么方法解决吗? detailsview有没有什么refresh的方法??谢谢
    Try 
                conn.Open() 
                mycommand.ExecuteNonQuery() 
            Catch ex As Exception 
                Console.WriteLine(ex.Message) 
            End Try 
            DetailsView1.DataBind() 

    2009年3月23日 9:44

答案

  • 就是这样的:
    <asp:GridView ID="GridView1" runat="server">
    </asp:GridView> 
     

    绑定:
    string queryString = "SELECT OrderID, CustomerID FROM Orders;"
    using (SqlConnection connection = new SqlConnection(connectionString)) 
    SqlCommand command = new SqlCommand(queryString, connection); 
    connection.Open(); 
    SqlDataReader reader = command.ExecuteReader(); 
    GridView1.DataSource = reader; 
    GridView1.DataBind(); 
     

    这样,随时都可以显示最新信息、




    孟宪会
    2009年3月24日 8:56
    版主

  • cnString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|\aspxWeb.mdb;"
    修改操作完成。下面就要显示
    你要显示那条数据,就查询那条数据啊,使用OleDb开头的类明打开数据库,读取数据,然后

    DetailsView1.DataSource = 你读取的数据
    DetailsView1.DataBind()

    asp.net其实提供了两种方法进行数据的绑定。

    如果你还不能实现,请发详细的代码
    amxh@21cn.com



    孟宪会
    2009年3月24日 9:46
    版主

全部回复

  • DetailsView1.DataSource = xx;//先取数据,再绑定
    DetailsView1.DataBind()

    孟宪会
    2009年3月23日 9:59
    版主
  • 我想知道用dataSource和dataSourceID 有什么区别吗? 可能我上面定义access连接的时候已经用过dataSource了, 现在再用的话系统显示"同时定义了dataSource, dataSourceID, 请移除一定义".  然后我用了dataSourceID="AccessDataSource2", detailviews还是不能马上显示改变了的数据.
    strconn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Project2\Casedb.mdb;Jet OLEDB:Database Password='1234'" 
    2009年3月24日 1:51
  • DataSource是用来绑定数据源或者一个集合对象的属性要配合DataBuind()方法使用。DataSourceID是绑定数据绑定控件的数据可以绑定一个数据源控件。
    2009年3月24日 2:29
  • 但是问题是我用dataSource的时候提示不能定义两次. 我也不知道我哪里有定义dataSource了, 我的detailsview连接access的方法都是用DataSourceID的方法的. 奇怪了. 
    Protected Sub change_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles change.Click 
            Dim news As String = description.Text 
            strconn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Project2\Casedb.mdb;Jet OLEDB:Database Password='1234'" 
            Dim conn As New System.Data.OleDb.OleDbConnection(strconn) 
            Dim referid As String = Request.QueryString("requestID") 
            Dim query As String = "update main set jobname='" + news + "'where referencenum=" + referid 
            Dim mycommand As New OleDb.OleDbCommand(query, conn) 
            Try 
                conn.Open() 
                mycommand.ExecuteNonQuery() 
            Catch ex As Exception 
                Console.WriteLine(ex.Message) 
            End Try 
            conn.Close() 
            DetailsView1.DataSourceID = "AccessDataSource2" 
            DetailsView1.DataBind() 
        End Sub 
    2009年3月24日 3:25
  • 你的这种需求比较适合采用自定义取数据绑定的方法,不适合采用AccessDataSource控件的方法。
    DataSourceID 和DataSource不能同时使用

    孟宪会
    2009年3月24日 4:44
    版主
  • 请问孟老大, 自定义绑定是怎么绑定????不是很明白您的意思
    2009年3月24日 6:04
  • 就是这样的:
    <asp:GridView ID="GridView1" runat="server">
    </asp:GridView> 
     

    绑定:
    string queryString = "SELECT OrderID, CustomerID FROM Orders;"
    using (SqlConnection connection = new SqlConnection(connectionString)) 
    SqlCommand command = new SqlCommand(queryString, connection); 
    connection.Open(); 
    SqlDataReader reader = command.ExecuteReader(); 
    GridView1.DataSource = reader; 
    GridView1.DataBind(); 
     

    这样,随时都可以显示最新信息、




    孟宪会
    2009年3月24日 8:56
    版主
  • 我想问问老大, 我的整个网页的数据库是建立在acess上的. detailsview也已经连接到access上了. 如果想用自定义绑定到access的方法, 我不是很清楚语句应该怎么写好, 就算是自定义数据绑定, 还是需要连接到数据库的啊. 老大的自定义绑定方法我是理解, 但是现在不清楚应该怎样用到我的程序里面. 可以就我现在的code给些指引吗? 谢谢
    2009年3月24日 9:29

  • cnString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|\aspxWeb.mdb;"
    修改操作完成。下面就要显示
    你要显示那条数据,就查询那条数据啊,使用OleDb开头的类明打开数据库,读取数据,然后

    DetailsView1.DataSource = 你读取的数据
    DetailsView1.DataBind()

    asp.net其实提供了两种方法进行数据的绑定。

    如果你还不能实现,请发详细的代码
    amxh@21cn.com



    孟宪会
    2009年3月24日 9:46
    版主