INSERT 查询实际上没有插入任何数据
Posted
技术标签:
【中文标题】INSERT 查询实际上没有插入任何数据【英文标题】:INSERT query actually didn't insert any data 【发布时间】:2020-02-15 11:13:42 【问题描述】:目前,我正在为一家商店做一个项目。我遇到的问题是“INSERT”查询实际上并没有插入任何东西。
try-catch
没有发现任何问题,这增加了我的困惑。我也调试了代码,没有发现异常。
koneksi.Open();
mysqlCommand masuk = new MySqlCommand(a, koneksi);
masuk.CommandType = CommandType.StoredProcedure;
Random utk_id = new Random();
int panggil_acak = utk_id.Next();
masuk.Parameters.AddWithValue("_id_transaksi", Convert.ToString(panggil_acak));
masuk.Parameters.AddWithValue("_id_barang", Convert.ToString(id.Text));
masuk.Parameters.AddWithValue("_nama_barang", Convert.ToString(nama.Text));
masuk.Parameters.AddWithValue("_harga_satuan", Convert.ToString(harga.Text));
masuk.Parameters.AddWithValue("_jumlah_barang", Convert.ToString(jmlh_brg_beli.Text));
masuk.Parameters.AddWithValue("_diskon", Convert.ToString(diskon_rp.Text));
masuk.Parameters.AddWithValue("_harga_total", Convert.ToString(harga_barang_total.Text));
masuk.Parameters.AddWithValue("_tgl_transaksi", Convert.ToString(DateTime.Now.ToString()));
//execute command
masuk.ExecuteNonQuery();
clear text area and refresh data grid
rstArea();
isiDgrid();
该命令是一个存储过程,应用程序没有给出错误反馈。
CREATE DEFINER=`root`@`localhost` PROCEDURE `belanjaTemp_add`(
_id_transaksi varchar(20),
_id_barang varchar(10),
_nama_barang varchar(255),
_harga_satuan varchar(10),
_jumlah_barang varchar(10),
_diskon varchar(45),
_harga_total varchar(10),
_tgl_transaksi varchar(45)
)
BEGIN
if(_id_transaksi = 0)
then
insert into komodo.penjualan_temp
(id_transaksi, id_barang, nama_barang, harga_satuan, jumlah_barang, diskon, harga_total, tgl_transaksi)
values
(_id_transaksi, _id_barang, _nama_barang, _harga_satuan, _jumlah_barang, _diskon, _harga_total, _tgl_transaksi);
END if;
END
我预计数据库会更新,但它没有更新。 成功确认截图: https://ibb.co/b26YdBY
我的问题:我如何设法插入数据?
【问题讨论】:
请不要发布指向您需要帮助的外部代码的链接,请更新您的帖子以包含此信息。我会假设您成功连接到数据库正确吗? 可以在代码之外执行查询吗?如果不是,那么问题出在查询上。 @codexer : 数据库连接成功 @JohnPete22 : 我可以在代码之外执行它 好的,那么它可能是代码。数据库的用户是否有权更新数据,而不仅仅是读取? 【参考方案1】:尝试使用ExecuteStoredProcedure()
而不是ExecuteNonQuery()
;
【讨论】:
ExecuteNonQuery
没问题,只要将命令指定为CommandType.StoredProcedure
。以上是关于INSERT 查询实际上没有插入任何数据的主要内容,如果未能解决你的问题,请参考以下文章
如何修复'$this->db->insert_batch($this->tbl, $data) 没有显示任何错误也没有插入数据库'?