有关C# DataGridView 显示SQL Server中数据的问题

我先把本地音频文件(MP3)存入数据库中,就是将音频数据转化为二进制流存入image类型的表中。然后想使用DataGridView显示出来,部分代码如下: private void button1_Click(object sender, EventArgs e)
{
DataSet ds = new DataSet();
using (SqlConnection conn = new SqlConnection())
{
conn.ConnectionString = "server=localhost;uid=sa;pwd=xjwweijia1210;database=数据菜单";
conn.Open();
using (SqlCommand command = conn.CreateCommand())
{
command.CommandText = "select * from MP3save";
SqlDataAdapter da = new SqlDataAdapter(command);

                try
                {
                    da.Fill(ds);
                }
                catch
                { }
            }
        }
        DataTable dt = new DataTable();
        dt = ds.Tables[0].Copy();

        this.dataGridView1.DataSource = dt;  //绑定到datagridview中显示
                    之后就显示system.argumentexception 参数无效,这个异常。
                    但我换了个数据表(图片存image类型的)就可以显示出图片,不知道为什么,求助!!!!

为什么格式成这样了。。不好意思大家将就看。。

格式再调整一下比较好一点

是你参数的问题,解决办法,你可以使用排除法,删除一些前台绑定的字段,慢慢筛选出是哪个绑定的字段有问题

DataGridView的Column也是有类型设定的,猜测是这个问题。

二进制显示不了。。一般都是数据库存文件名,文件保存到硬盘上

你直接显示个文字就好了吧。。如下载音频什么的,然后连接到一个动态页负责读取数据库二进制数据流输出

因为你代码好不规范,我也没太看明白,但是建议你可以先将一列数据显示在datatable中,如果这样可以的话,就是你的部分列的问题

showbo showbo if (score < 60 & score >= 50) "P(Pass)";这里少了个return。。。加上。if (score < 60 & score >= 50)return "P(Pass)"