从sqldatasource对象检索数据

时间:2014-04-02 16:46:34

标签: c# asp.net gridview sqldatasource

我正在使用gridview,并且内置的编辑按钮出现了一些问题。

gridview获得了3列标题,艺术家,流派,当编辑该类型时,ddl显示。

在我的grv_update事件中

 protected void grv_Update(object sender, GridViewUpdateEventArgs e)
    {
        //get old and new values
        var oldArtistName = e.OldValues["Artist"].ToString();
        var oldTitle = e.OldValues["Title"].ToString();
        var oldGenre = e.OldValues["Genre"].ToString();            
        int songId = Convert.ToInt16(e.Keys["ID"]);

        var newArtistName = e.NewValues["Artist"].ToString().Trim();
        var newTitle = e.NewValues["Title"].ToString().Trim();
        var newGenre = e.NewValues["Genre"].ToString();
    }

我能够检索已编辑行的旧值和新值。

我的问题是,如果我想将更改存储在我的数据库中,我需要genreId而不是类型(名称)。那么无论如何从我的sqldatasource检索genreId而不必连接到db?

我的select命令如下所示:

select tblSong.ID ,Title, Artist, Genre from tblSong JOIN tblArtist on ArtistId = tblArtist.ID
        JOIN tblGenre on GenreId = tblGenre.ID;

感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

用户如何在GridView中指定流派? DropDownList?然后将ListItem的文本设置为GenreName,将值设置为GenreId。

如果您没有使用DropDownList,则需要向我们提供有关GridView的更多详细信息。