Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/258.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#返回System.Byte[]查询MySQL_C#_Mysql_Connection String - Fatal编程技术网

从c#返回System.Byte[]查询MySQL

从c#返回System.Byte[]查询MySQL,c#,mysql,connection-string,C#,Mysql,Connection String,我使用下面的SP返回生成的Insert语句的值,它在查询浏览器中执行时工作正常 当我试图从C#中获取值时,它会给我“System.Byte[]”作为返回值。 当我尝试从MySql查询浏览器获取值时,它给我返回值,如下所示: '插入admindb.accounts值(“54321”、“2”、“karthik2”、“karthik2”、“1”);' 我想问题在于返回值的单引号。是这样吗 DELIMITER $$ DROP PROCEDURE IF EXISTS `admindb`.`Ins

我使用下面的SP返回生成的Insert语句的值,它在查询浏览器中执行时工作正常

当我试图从C#中获取值时,它会给我“System.Byte[]”作为返回值。 当我尝试从MySql查询浏览器获取值时,它给我返回值,如下所示:

'插入admindb.accounts值(“54321”、“2”、“karthik2”、“karthik2”、“1”);'

我想问题在于返回值的单引号。是这样吗

    DELIMITER $$

DROP PROCEDURE IF EXISTS `admindb`.`InsGen` $$
CREATE DEFINER=`root`@`localhost` PROCEDURE `InsGen`(
in_db varchar(20),
in_table varchar(20),
in_ColumnName varchar(20),
in_ColumnValue varchar(20)
)
BEGIN

declare Whrs varchar(500);
declare Sels varchar(500);
declare Inserts varchar(2000);
declare tablename varchar(20);
declare ColName varchar(20);


set tablename=in_table;


# Comma separated column names - used for Select
select group_concat(concat('concat(\'"\',','ifnull(',column_name,','''')',',\'"\')'))
INTO @Sels from information_schema.columns where table_schema=in_db and table_name=tablename;


# Comma separated column names - used for Group By
select group_concat('`',column_name,'`')
INTO @Whrs from information_schema.columns where table_schema=in_db and table_name=tablename;


#Main Select Statement for fetching comma separated table values

 set @Inserts=concat("select concat('insert into ", in_db,".",tablename," values(',concat_ws(',',",@Sels,"),');')
 as MyColumn from ", in_db,".",tablename, " where ", in_ColumnName, " = " , in_ColumnValue, " group by ",@Whrs, ";");

 PREPARE Inserts FROM @Inserts;

 EXECUTE Inserts;

END $$

DELIMITER ;

在连接设置中添加此选项实现了以下目的:尊重二进制标志=false

在连接设置中添加此选项实现了以下目的:尊重二进制标志=false;我在检索数据集行值时遇到了类似的问题。受影响的字段是DateTime字段,只返回System.Byte[]而不是字段值。添加您提到的字符串解决了问题。@Anuya+1为此,它就像一个符咒!我也遇到了同样的问题,DateTime字段将返回System.Byte[],而不是实际的日期值。这面旗子是干什么的?