Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/34.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 从sqldatasource对象检索数据_C#_Asp.net_Gridview_Sqldatasource - Fatal编程技术网

C# 从sqldatasource对象检索数据

C# 从sqldatasource对象检索数据,c#,asp.net,gridview,sqldatasource,C#,Asp.net,Gridview,Sqldatasource,我正在使用gridview,但内置的编辑按钮有点问题 gridview有3列标题、艺术家、流派和编辑ddl显示的流派 在我的grv_更新事件中 protected void grv_Update(object sender, GridViewUpdateEventArgs e) { //get old and new values var oldArtistName = e.OldValues["Artist"].ToString();

我正在使用gridview,但内置的编辑按钮有点问题

gridview有3列标题、艺术家、流派和编辑ddl显示的流派

在我的grv_更新事件中

 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而不是genre(名称)。那么,是否可以从我的sqldatasource中检索genreId,而不必连接到db

我的select命令如下所示:

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

谢谢你的帮助

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


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

这是ddl,我试试这个