2
如何解決此問題?我是否缺少我的代碼或功能代碼?嘗試調用存儲函數「dbname」。「函數名」不指定返回參數
這裏是我的C#代碼
public int AddDetails(string business, string clerkid, string serverid, string ticket, string tablenumber,
string sourcecard, string recipientcard, DateTime datesaved, string status)
{
CreateConnection();
int dbId = 0;
using(cmd = new MySqlCommand())
{
cmd.Connection = cn;
cmd.CommandType = CommandType.StoredProcedure;
cmd.CommandText = "AddDetails";
cmd.Parameters.AddWithValue("m_business", business);
cmd.Parameters.AddWithValue("m_clerkid", clerkid);
cmd.Parameters.AddWithValue("m_serverid", serverid);
cmd.Parameters.AddWithValue("m_ticket", ticket);
cmd.Parameters.AddWithValue("m_tablenumber", tablenumber);
cmd.Parameters.AddWithValue("m_sourcecard", sourcecard);
cmd.Parameters.AddWithValue("m_recipientcard", recipientcard);
cmd.Parameters.AddWithValue("m_datesaved", datesaved);
cmd.Parameters.AddWithValue("m_status", status);
cn.Open();
//dbId = Convert.ToInt32(cmd.LastInsertedId);
dbId = int.Parse(cmd.ExecuteScalar().ToString());
//dbId = Convert.ToInt32(cmd.ExecuteNonQuery());
cn.Close();
}
return dbId;
}
,這裏是我的存儲功能
CREATE DEFINER=`root`@`192.168.21.%` FUNCTION `AddDetails`(
m_business VARCHAR(1),
m_clerkid VARCHAR(45),
m_serverid VARCHAR(45),
m_ticket VARCHAR(45),
m_tablenumber VARCHAR(45),
m_sourcecard VARCHAR(45),
m_recipientcard VARCHAR(45),
m_datesaved DATETIME,
m_status VARCHAR(45)
) RETURNS int(11)
READS SQL DATA
BEGIN
INSERT INTO `tbl_merchantwarehouse_transaction`
(
`business`,
`clerkid`,
`serverid`,
`ticket`,
`tablenumber`,
`sourcecardnumber`,
`recipientcardnumber`,
`datesaved`,
`status`
)
VALUES(
m_business,
m_clerkid,
m_serverid,
m_ticket,
m_tablenumber,
m_sourcecard,
m_recipientcard,
m_datesaved,
m_status
);
RETURN LAST_INSERT_ID();
END
任何建議,意見/改善我的代碼將非常感激。謝謝:d
@ cheol.lui,後'cmd.ExecuteScalar',嘗試'INT DBID = Convert.ToInt32(cmd.Parameters [ 「@ireturnvalue」]值);' – Habib