问题是:
从mysql调用存储过程到c#代码时,插入或删除时将字符串[“call procŠu name('param1','param2',3)”]直接作为类似语句放置,如下所示:
this.command= new MySqlCommand("CALL getAllNamesbyOld(5)", this.conn);
this.command.ExecuteReader();
...
或者对select存储过程使用mysqlcommand.commandtype,如下所示:
this.command = new MySqlCommand("getAllNamesbyOld", this.conn);
this.command.CommandType = CommandType.StoredProcedure;
当然,在第一个选项中,参数直接在字符串中;在第二个选项中,您必须使用mysqlparameters创建参数,并向它指示哪些参数是in方向还是out方向。
那么用哪一个呢??
1条答案
按热度按时间dgtucam11#
使用
CommandType.StoredProcedure
速度更快使用时
CommandType.StoredProcedure
你将是一个参数化它,并将节省一些工作数据库。当使用第一个选项时,mysql将进行参数化。