- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我的变量名,数据库表都是对的,我得到这样的错误;
MySql.Data.MySqlClient.MySqlException: 'There is already an open DataReader associated with this Connection which must be closed first.'
public string urun_adi_bul(string urun_id)// find product name
{
if (genel.baglanti.State == ConnectionState.Closed)
{
genel.baglanti.Open();
}
string urun_adi = "";
genel.sqlgonder.Connection = genel.baglanti;
genel.sqlgonder.CommandText = "Select * from urunler where urun_id="+urun_id;
MySqlDataReader oku = genel.sqlgonder.ExecuteReader();
while (oku.Read())
{
urun_adi = oku["urun_id"].ToString();
}
oku.Close();
return urun_adi;// product name
}
public void hesapGetir(ListView lvSiparis, string masa_id)
{
genel.baglanti.Open();
MySqlCommand sqlgonder = new MySqlCommand();
sqlgonder.Connection = genel.baglanti;
sqlgonder.CommandText = "Select * from adisyonlar where masa_id = "+masa_id;
MySqlDataReader oku = sqlgonder.ExecuteReader();
lvSiparis.Items.Clear();
string urun_adi = "",urun_id="";
while (oku.Read())
{
urun_id = oku["urun_id"].ToString();
decimal fiyat = Convert.ToDecimal(urun_fiyati_bul(urun_id)); // price
decimal adet = Convert.ToDecimal(oku["urun_adet"]); // piece
decimal toplam = fiyat * adet; // total
urun_adi = urun_adi_bul(urun_id);
ListViewItem item = new ListViewItem(urun_adi);
item.SubItems.Add(adet.ToString());
item.SubItems.Add(toplam.ToString());
lvSiparis.Items.Add(item);
}
oku.Close();
genel.baglanti.Close();
}
如何在循环中使用 2 个数据读取器?
最佳答案
每个连接只能有一个打开的阅读器(或任何类型的查询)。但如果您将两个查询与 JOIN
结合起来,您实际上只需要一个阅读器:
SELECT adisyonlar.urun_id, urun_adet, urunler.urun_id
FROM adisyonlar
LEFT JOIN urunler
ON adisyonlar.urun_id = urunler.urun_id
这样您就可以让数据库完成查找匹配记录的工作,您只需要一个查询,而不是针对 adisyonlar
中的每一行一次又一次地询问数据库。
请注意,最好明确命名要获取的列,而不是使用 SELECT *
获取所有列。
另外:您的查询是开放给SQL injection !请使用参数化查询。
关于c# - 如何在不使用 DataReader 的情况下找到我的 product_id?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49632826/
我在 MySQL 中遇到错误:错误代码:1054。“on 子句”中的未知列“s.Product_id” 出现在: SELECT c.customer_ID, p.Product_id, p.Produ
您好,我的数据库中有一张已售出的表,我的表如下所示: +-----------+---------------------+---------+---------+ | id | pro
查看 magento 1.5 架构,我似乎无法弄清楚 product_id 与 entity_id 的关系。 在我所有的测试用例中,我可以验证 product_id 和 entity_id 是否相等(
SELECT product_id,time_id,customer_id,promotion_id,store_id,store_sales,store_cost,SUM(unit_sales) t
我刚看到 opencart 的一些扩展可以更新产品列表页面的产品,我在我的 opencart 项目中尝试了它,很有趣...现在我开始为我的 opencart 项目开发一个新的扩展,即: Insert
我有一张 table -> table_product_categories - "product_id", "category_id" 我想为每个类别添加多个产品 ID(在范围内)。我该怎么做? 我
如何使用产品 ID 获取产品描述或产品对象。 $order = new WC_Order($order_id); foreach ($order->get_items() as $item) {
我的变量名,数据库表都是对的,我得到这样的错误; MySql.Data.MySqlClient.MySqlException: 'There is already an open DataReader
正如主题所说,我在添加产品时遇到了问题(通过使用产品类别)。一切正常,但即使我指定 $product->id = 1234;它不会用这个 id 保存它,它只是在数据库中自动增加产品。但我真的需要将我自
创建了一个功能,让客户在达到特定数量时将产品添加到购物车。 客户达到级别 3 并添加产品的示例。 // Bonus products $product_1 = '4751'; $product_2 =
我正在尝试在 jQuery 中创建一个多维数组。 var parent = $(this).parents(".product:first").find(".decking_var_content >
我想在 Magento 的类别列表页面上显示查看次数。这些数据看起来过去可以通过 reports/product_collection 访问,但我找不到正确访问它的方法。 基本上,我想提供一个产品 I
我关注了How to create a custom grid from scratch创建自定义销售订单。管理员正在创建供应商,供应商将上传产品。我想限制供应商,使他们只能看到对自己产品的订单。有一
假设我有一个产品,它有很多图片。我使用了 Dropzone js,如果我上传图片那么它很好但是如果想用 product_id 存储然后它传递空值。没有传递任何值(value)它的工作正常。那么我怎样才
我的 OpenCart 商店 url = http://localhost/Casual?product_id=83983我正在使用 seo_url,我想让我的 url 看起来像 url = http
我有一个HDFS表A,写成如下格式 user product U1 101 U1 102 U1 103 U2 101 U2 104 U3
我目前正在使用 Stripe Webhooks 在用户为产品付款时收到通知。这工作正常。从付款意图我可以得到视讯和 客户 目的。但我没有找到获得 的方法product_id 或 price_id 用户
我已经阅读了文档并观看了视频,但这仍然让我感到困惑。 我在我的 Android 应用程序中使用了 PRODUCT_ID 并将其发送到 Google Cloud Messaging (GCM),以便它返
当我想将 user_id 添加到 carts 时出现此错误 Cannot add or update a child row: a foreign key constraint fails (`arm
我试图通过在删除按钮中传递 id 来从数据库中删除产品。该值不是各自的 product_id,而是像第一个产品 ID 1 被删除然后 2 一样传递。我要删除的产品没有传递用于删除的 ID。表单在pos
我是一名优秀的程序员,十分优秀!