Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/70.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# Datatable:Datatable结果中的System.Byte[]值_C#_Mysql_Datatable - Fatal编程技术网

C# Datatable:Datatable结果中的System.Byte[]值

C# Datatable:Datatable结果中的System.Byte[]值,c#,mysql,datatable,C#,Mysql,Datatable,value1的结果给出错误。col2的数据类型是int。col1的数据类型是string。即使我将字符串值或int值置于if条件中,它也只接受int值 string str = "SELECT col1," + "if(col2=0,col1,col2) col2," + "col3" + "FROM tab

value1的结果给出错误。col2的数据类型是int。col1的数据类型是string。即使我将字符串值或int值置于if条件中,它也只接受int值

        string str = "SELECT col1,"
                             + "if(col2=0,col1,col2) col2,"
                             + "col3"
                             + "FROM table1"
                             + "ORDER BY col1 ASC";
        connection.Open();
        cmd = new MySqlCommand(strdept_name, connection);
        adapter = new MySqlDataAdapter(cmd);
        DataTable dt = new DataTable();
        adapter.Fill(dt);
        connection.Close();
        cmd.Parameters.Clear();


        string value1 = dt.Rows[i].Field<string>("col2").ToString();

请帮助我理解这里有什么问题?

您可以使用concat将col2更改为string,col2或将col1转换为int,选择一个

 string str = "SELECT col1,"
                         + "if(col2=0,col1,concat('',col2)) col2,"
                         + "col3"
                         + "FROM table1"
                         + "ORDER BY col1 ASC";
    connection.Open();
    cmd = new MySqlCommand(strdept_name, connection);
    adapter = new MySqlDataAdapter(cmd);
    DataTable dt = new DataTable();
    adapter.Fill(dt);
    connection.Close();
    cmd.Parameters.Clear();


    string value1 = dt.Rows[i]["col2"].ToString();

尖括号中的类型必须与数据库中的类型匹配,否则将发生异常。然后可以转换为c.string value1=dt.Rows[i].Fieldcol2.ToString中的字符串@我也试过了。我收到错误“指定的强制转换无效”。结果为字节[]。然后尝试字节[]值1=dt.Rows[i]。Fieldcol2;然后可以使用stringvalue2=Encoding.UTF8.GetStringvalue1获取字符串;谢谢@jdweng。它奏效了: