问题是:
当你从MySQL调用存储过程到C#代码时,你放置了 string [" CALL Proc_name(' param1',' param2',3)"]直接作为 插入或删除时的类似声明,如下所示:
this.command= new MySqlCommand("CALL getAllNamesbyOld(5)", this.conn);
this.command.ExecuteReader();
...
或者你使用 选择存储过程的MySqlCommand.CommandType,如下所示:
this.command = new MySqlCommand("getAllNamesbyOld", this.conn);
this.command.CommandType = CommandType.StoredProcedure;
当然,在第一个选项中,参数直接在字符串中;在第二个选项中,您必须使用MySqlParameters创建参数,并指示哪些参数是IN或OUT方向。
那么使用哪一个?
答案 0 :(得分:0)
使用CommandType.StoredProcedure
更快
使用CommandType.StoredProcedure
时,您将成为参数化的人,并将为数据库保存一些工作。
使用第一个选项时,MySQL会进行参数化。